您的位置:首页 > 其它

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

2008-03-14 17:12 253 查看
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中执行单元测试



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