参数化测试适用于,测试函数根据不同的传参,有很多的分支或者参数有许多特殊值。如果采用多个方法进行测试,除了传入参数不同,其他代码都相同,这时采用参数化测试的方法,就可以避免写大量重复的代码。
采用参数化测试的步骤:
1.为测试类制定特殊运行器
org.junit.runners.Parameterized
在测试类上方标注@RunWith(Parameterized.class)
2.在测试类里,声明变量,用来保存测试数据,也可以保存期望值。
3.声明一个公共静态方法,返回类型为Collection,初始化需要测试的数据。需要用@Parameters标注。
4.声明构造函数,构造函数的参数为2中的变量。构造函数参数赋值顺序,为3中初始化数据对的参数顺序。
5.编写测试用例,用初始化的参数进行测试。
参数化测试例子:
/**
* 要被测试的类
* @author L.B.
*
*/
public class Calculator {
private static int result; // 静态变量,用于存储运行结果
public void add(int n){
result = result + n;
}
public void multiply(int n , int m) {
result = n * m;
}