1、 在Eclipse中使用JUnit编写TestCase进行单元测试。
2、 TestCase组合成TestSuit整体测试。
3、利用ANT工具自动化测试。
4、TestCase测试代码示范。
5、TestSuit测试代码示范。
1、在Eclipse中使用Junit编写TestCase进行单元测试。
通常我们在编写代码之前先写测试类。测试类主要有几点规范:
(1)、测试类继承junit.jar中的TestCase。
(2)、测试类由setup方法、tearDown方法和多个测试方法。其中setUp()方法是构造初始化环境,可以在setUp中创建一个或者多个要测试的类实例。tearDown方法是在执行每个测试方法之后执行的;可以在tearDown方法中销毁一些类实例等。测试方法命名规范是以test+方法名构成,如testFoo;foo是某个要测试的类方法名。另外可以在测试方法中写断言期望的结果;如:assertTrue(。。。。。。)。文档最后列出了所有断言的类型及用法。
(3)、开始测试,运行测试类与运行普通的类一样。N多测试方法中,运行测试方法的次序是随机的。测试类的执行过程:在执行每个测试方法之前执行 setUp() 方法;在执行每个测试方法之后执行 tearDown() 方法。
(4)、在输出控制台上可以查询测试结果。
2、将TestCase组合成TestSuit集成测试。
在集成测试类中定义个一个静态方法 Test suite;该方法中定义要测试那些TestCase;将这些TestCase的实例添加到TestSuit中;然后由TestRunner类去启动TestSuit。
3、 用ANT工具自动化测试。
写一个XML文件,用<junit>标签定义要运行的测试类;然后用ANT工具直接运行XML文件。例如:
<target name="test">
<junit printsummary="yes" showoutput="yes">
<classpath>
<fileset dir="${basedir}/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${basedir}/classes"/>
<pathelement location="${basedir}/webapp"/>
<pathelement location="${weblogic.home}/server/lib/weblogic.jar"/>
</classpath>
<formatter type="brief" usefile="false"/>
<test name="com.netsboss.erp.hr.web.actions.OrganizationActionTest"/>
</junit>
</target>
4、TestCase测试代码示范。
写一个要测试的类Simple如下:
package jexi.test;
public class Simple {
private int n;
public Simple(int n) {
this.n = n;
}
// 返回绝对值:
public int foo() {
return n>0 ? n : (-n);
}
}
TestCase测试代码
package jexi.test;
import junit.framework.TestCase;
public class SimpleTest extends TestCase {
private Simple s1, s2;
protected void setUp() throws Exception {
super.setUp();
s1 = new Simple(10);
s2 = new Simple(-7);
}
public void testFoo() {
assertTrue(s1.foo()==10);
assertTrue(s2.foo()==7);
}
public void teardown(){
s1=null;
s2=null;
}
}
5、 TestSuit测试代码示范。
public class MoneyTest{
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
public static Test suite(){
TestSuite suite= new TestSuite();
suite.addTest(new MoneyTest("testMoneyEquals"));
suite.addTest(new MoneyTest("testSimpleAdd"));
return suite;
}
}
表 1. 断言类别
断言方法 描述
assertEquals 比较两件事物是否相等(基本类型或对象)
assertTrue 对布尔值求值,看它是否为 true
assertFalse 对布尔值求值,看它是否为 false
assertNull 检查对象是否为 null
assertNotNull 检查对象是否不为 null
assertSame 检查两个对象是否为同一实例
assertNotSame 检查两个对象是否不为同一实例