总体目标: 创建一个简单的框架,支持用户创建单元测试用例
第一版
1. 用户可以通过继承TestCase类 来创建一个测试用例。
2. 框架能自动寻找测试用例中以test为开头的方法,调用执行。
3. 支持setUp, tearDown方法
例子:
被测试的类Calculator
public class Calculator {
private int result = 0;
public void add(int value){
result += value;
}
public void subtract(int value){
result -= value;
}
public int getResult(){
return result;
}
}
用户的测试用例
public class CalculatorTest extends TestCase{
Calculator calculator = null;
public void setUp(){
calculator = new Calculator();
}
public void tearDown(){
}<br /> public void testAdd(){<br /> calculator.add(5);<br /> Assert.assertEquals(5,calculator.getResult());<br /> }<br /> public void testSubtract(){<br /> calculator.add(10);<br /> calculator.subtract(5);<br /> Assert.assertEquals(5,calculator.getResult());<br /> }<br />}
你需要写一个框架来执行这个CalculatorTest
这个测试用例中有两个测试: testAdd, testSubtract。
你的框架在执行每个测试之前,都要先运行 setUp方法做初始化,执行完每个测试之后,还要运行tearDown方法做清理。
Assert的功能需要你来提供。
第二版
1. 用户可以把多个TestCase添加到一个TestSuite中。
TestSuite ts = new TestSuite();
ts.addTestSuite(CalculatorTest.class);
所有被加入到TestSuite中的测试用例都会被执行!
- 测试框架在运行结束以后,可以报告出,有那些测试用例成功,有哪些测试用例失败,对于失败的用例,报告出是Assert失败,还是出现了异常。
第三版
支持注解,待定