相关术语:
有五个常用注解
例子:
@Test
public void test1(){
Test t = new Test();
// 开始测试
}
@Test
public void test2(){
Test t = new Test();
// 开始测试
}
@Test
public void test3(){
Test t = new Test();
// 开始测试
}
上述的三个测试都需要初始化一个Test对象,因此可以将该对象放到@Before中
@Before
public void setUp(){
Test t = new Test();
}
@Test
public void test1(){
// 开始测试
}
@Test
public void test2(){
// 开始测试
}
@Test
public void test3(){
// 开始测试
}
这样在每个测试开始时,都会自动调用@Before中的方法
异常测试,指的是:该方法必须抛出这个异常,才能通过测试
使用 @Test(expected = NumberFormatExcpetion.class) 标注该测试必须抛出数字格式化异常
参数化测试,指的是:给定测试集{输入,预期输出},然后统一进行测试。
使用下面的代码模板即可(测试绝对值函数为例)
@RunWith(Parameterized.class)
public class MyTest {
@Parameterized.Parameters
public static Collection<?> data(){
// 构造测试数据,二维数组第一个是输入,第二个是预计输出
return Arrays.asList(new Object[][]{
{0,0},
{1,1},
{3,"3"}}
);
}
private int input;
private int expected;
public MyTest(int input,int expected){
this.input = input;
this.expected=expected;
}
@Test
public void test(){
// 调用测试方法
int r = Math.abs(this.input);
// 进行测试比对
Assert.assertEquals(this.expected,r);
}
}
写法固定,只需要更改测试集即可。
@Test(timeout=1000)即可