1. 防止改完后引起新错误;再次运行
单元测试。
2.. 如果单元测试涉及到可变信息(如当前时间),需要将待测试数据也变为可变,否则无法回归测试
3. 使用测试驱动开发必须从头开始,严格进行,否则到半中间会很费事的。
4. 测试驱动开发中,私有方法也要测试,可通过反射实现,如
Summer example = new Summer.newInstance();
Method m = example.getClass().getDeclaredMethod("methodone",new Class[]{String.class});
m.setAccessible(true);Object result = m.invoke(example ,new Object[] {“xxx”});
m.setAccessible(false);
if (result.equals(rightResult)){
|
5.重构和修改,一次只带一顶帽子,要掌握自己的pace,不太快也不太慢
6. 常用断言:相等,真,空,同一对象
7. Junit与ant结合,运行全部测试并将运行结果以文件形式输出
JUnit中测试的组织
import junit.framework.TestCase;
public class CalculateUtilTest extends TestCase
{
public CalculateUtilTest(String name) //1行
{
super(name);
}
}
1. import junit.framework.*;
2. public class MainTest
3. {
4. public static
Test suite() //1行
5. {
6. TestSuite suite = new TestSuite(); //2行
7.
8. //添加测试testDivision方法
9. suite.addTest(new CalculateUtilTest("testDivision")); //3行
10.
//添加测试类
suite.addTestSuite(CalculateUtil.class);
return suite;
14. }
15.
16. public static void main(String[] args)
17. {
18. //执行测试
19. junit.textui.TestRunner.run(suite()); //4行
20. }
21. }
|
最新内容请见作者的GitHub页:http://qaseven.github.io/