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中执行单元测试
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/65775,如需转载请自行联系原作者