注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 CCNA教材推荐
 帮助

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


2008-03-14 17:12:27
 标签:java 编程 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中执行单元测试
 
~~~周末愉快!!

本文出自 “熔 岩” 博客,转载请与作者联系!





    文章评论
 
2008-03-14 17:14:26
支持 支持

2008-03-31 21:32:35
你好啊,看到你写的有关junit测试的东西,学习了呵呵,我不太懂,那个到底什么地方应该要写单元测试?什么样的情况需要什么样的不需要,能不能详细讲讲

2008-04-01 08:04:50
下载个JUnit包,里面有很多例子程序,你可以看看。你所问到的什么地方需要测试是个软件工程方面的问题,有空可以找资料看看。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: