JUnit三分钟教程 ---- 实际应用

JUnit三分钟教程 —- 实际应用   接上文“
JUnit三分钟教程 —- 快速起步”,续写一篇,以便能真正将JUnit用到项目的测试中。   进行测试确不清理垃圾数据就像随地大小便一样让人无法忍受!   测试是应该进行,如果测试过程中给数据库中写入了垃圾数据怎么办,不用担心,JUnit的设计者早已考虑到了这个问题,下面看如何控制“测试垃圾”的回收。   结合Eclipse,这个实现非常的简单,80%的代码是Eclipse生成的,呵呵。   一、测试目标  
public 
class Calc { 

  

    
private 
int a,b; 

  

  

    
public Calc() { 

    } 

    
public 
int add() { 

  
return a + b; 

    } 

    
public 
int getA() { 

  
return a; 

    } 

    
public 
void setA(
int a) { 

  
this.a = a; 

    } 

    
public 
int getB() { 

  
return b; 

    } 

    
public 
void setB(
int b) { 

  
this.b = b; 

    } 

  

}   二、写测试用例 测试用例中的setup()方法会在测试逻辑最先调用。就相当于做初始化工作。   测试用例中的tearDown() 方法在测试逻辑之后调用。充当一个清理战场的角色,以清楚测试过程中对现场的状态的破坏。    
import junit.framework.TestCase; 

public 
class CalcTest1 
extends TestCase { 

    Calc c=
new Calc(); 

    
protected 
void setUp() 
throws Exception { 

  c.setA(2); 

  c.setB(1); 

   

    } 

    
protected 
void tearDown() 
throws Exception { 

  c=
null

    } 

    
public 
void testAdd() { 

  
int result=c.add();  

  assertEquals(3,result,0); 

//  fail(“尚未实现”); // TODO 

    } 

}  
import junit.framework.TestCase; 

public 
class CalcTest2 
extends TestCase { 

    Calc c=
new Calc(); 

    
protected 
void setUp() 
throws Exception { 

  c.setA(2); 

  c.setB(1); 

   

    } 

    
protected 
void tearDown() 
throws Exception { 

  c=
null

    } 

    
public 
void testAdd() { 

  
int result=c.add();  

  assertEquals(3,result,0); 

//  fail(“尚未实现”); // TODO 

    } 

}   本例中没有测试垃圾,因此tearDown() 实际上可以不用写。   三、生成测试单元  
import junit.framework.Test; 

import junit.framework.TestSuite; 

public 
class AllTests { 

    
public 
static Test suite() { 

  TestSuite suite = 
new TestSuite(
“Test for default package); 

  
//$JUnit-BEGIN$ 

  suite.addTestSuite(CalcTest1.
class); 

  suite.addTestSuite(CalcTest2.
class); 

  
//$JUnit-END$ 

  
return suite; 

    } 

    四、在Eclipse中执行单元测试
《JUnit三分钟教程 ---- 实际应用》

本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/65775,如需转载请自行联系原作者

点赞