JUNIT简单实例及模板

转:[url]http://www.iteye.com/topic/91663[/url]
环境:windows2000,Eclipse3.1,JDK1.4
开发过程中进行单元测试,尽可能尽早的将BUG找出,是开发者应该做的。JUNIT为JAVA开发者提供了一个很好的测试机制,以下是一个简单的JUNIT应用实例,也是初学可供参考的JUNIT模板。

java 代码

[code] package junit.sineat.templet;
import java.util.Hashtable;
import junit.framework.Assert;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public class JunitB extends TestCase{
/**定义你需要测试的类及用到的变量*****************************/
public Hashtable hasha=null;//
public Hashtable hashb=null;
/*******************************************************/
public JunitB(String name){
super(name);//创建子类
}
/**用setUp进行初始化操作*/
protected void setUp() throws Exception {
super.setUp();
hasha =new Hashtable();//这里
}
/**用tearDown来销毁所占用的资源*/
protected void tearDown() throws Exception {
super.tearDown();
//System.gc();
}
/**写一个测试方法断言期望的结果**/
public void testBodyStatus() {
//hasha =new Hashtable();//有此句后也可去掉setUp() tearDown()
assertNotNull(hasha);
//hasha.put("0","let's try again");//test1.error版
assertTrue(hasha.isEmpty());//期望为空
}
/**再写一个测试方法断言期望的结果**/
public void testBodySame() {
//hashb=(Hashtable)hasha.clone(); //test2.error版
hashb=hasha; //test2.OK 版
Assert.assertSame(hasha,hashb);
}
/**suite()方法,使用反射动态的创建一个包含所有的testXxxx方法的测试套件**/
public static TestSuite suite() {
return new TestSuite(JunitB.class);
}
/****写一个main()运行测试*****************/
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());//以文本运行器的方式方便的
//junit.swingui.TestRunner.run(JunitB.class);
}
} [/code]

以上为JUNIT的简单测试样例,不需过多考虑性能及规范,但资深JAVA开发者建议:
一、不要在测试用例的构造函数中做初始化
答案是重载测试用例的setUp()方法进行初始化。
二、不要假定测试用例中测试的执行次序
好的习惯是保持测试之间的独立性,使得它们在任何次序下执行的结果都是相同的。
三、测试要避免人工干预
经验二讲的是不同的测试要避免相关性,而经验三讲的其实就是测试要避免自相关。
四、在子类中调用父类的setUp() 和tearDown()
五、不要硬性规定数据文件的路径
六、把测试的代码和被测的代码放在同样的目录下
七、正确命名测试
八、书写测试时要考虑地区和国家设置
九、利用Junit 的自动异常处理书写简洁的测试代码
事实上在Junit 中使用try-catch 来捕获异常是没有必要的,Junit 会自动捕获异常。那些没有被捕获的异常就被当成错误处理。
十、充分利用Junit 的assert/fail 方法
assertSame()用来测试两个引用是否指向同一个对象
assertEquals()用来测试两个对象是否相等
十一、确保测试代码与时间无关
十二、使用文档生成器做测试文档。
以上资料来自:“JUnit使用经验”,原作:Andy Schneider Richard Dallaway 等,编译:PMT 测试工作组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值