您的位置:首页 > 其它

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

2015-03-23 17:10 204 查看
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中执行单元测试



 

~~~周末愉快!!

本文出自 “熔 岩” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: