可以随便写一个需要被测试的类,这里我在一个类中写了一个得到一个
数组中最大数的方法,现在我们就以测试这个方法为入门实例吧:
public class MaxGetter {
public int getMax(int array[]){
int max = 0;
for(int i = 0;i < array.length;i++){
max = max > array[i] ? max : array[i];
}
return max;
}
}
这个类很简单,只要有点Java基础的人都能看得懂,就不说明了。
接下来就要写Junit测试类了:
public class MaxGetterTest {
private int array[];
@Before
public void setUp() throws Exception {
array = new int[] { -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 };
}
@After
public void tearDown() throws Exception {
array = null;
}
@Test
public void testGetMax() {
assertEquals(5,new MaxGetter().getMax(array));
}
}
这里是Junit 4 的模式,用到了jdk1.5新增的注解的功能,
如若是Junit 3 则是继承TestCase类,然后完成测试方法
的书写,这个不是重点,我们重点说下setUp和tearDown
两个方法。
setUp:在每个测试方法前执行一次
tearDown:则是在‘后’执行
其实这个测试完全不用这两个方法,因为只有一个测试方法
完全可以这样写:
@Test
public void testGetMax() {
array = new int[] { -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 };
assertEquals(5,new MaxGetter().getMax(array));
array = null;
}
但习惯,我们将java的好的编程习惯执行到底:每个方法只做一件事,
setUpf负责‘初始化’,tearDown负责‘善后’,测试方法只负责‘测试’。
如果你保证你能看懂我说的每一句话,那我恭喜你,你入门了。^_^