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中执行单元测试
 
文件转载出处:http://lavasoft.blog.51cto.com/62575/65775
posted @ 2015-04-18 10:30  逝去的青春@爱情  阅读(131)  评论(0编辑  收藏  举报