Usage and Idioms——Parameterized tests

参数化测试实例

Parameterized 运行器能实现参数化测试,引用该运行器测试某个类时,它会自动创建测试数据以便实现参数化测试。

例如,要测试Fibonacci function,代码请见Android Studio 中的FibonacciTest 类。Fibonacci function中,每个FibonacciTest 的实例都是用双参数构造器和@Parameter 方法中的数据值来构造的。

 

通过@Parameter 注释实现字段注入可以取代构造器。

为了优化Fibonacci function,引用@Parameter 注释后也可以抛开构造器,直接向字段中注入数据。代码请见Android Studio 中的FibonacciTest2 类。

 

 

采用单个数据测试(Since 4.12-beta-3)

如果只需要单个参数进行测试,不必非得写个数组包装该参数,可以提供一个对象的迭代或对象的数组(此处翻译不太确定😰)代码如下:

@Parameters
public static Iterable<? extends Object> data() {
    return Arrays.asList("first test", "second test");
}

or

@Parameters
public static Object[] data() {
    return new Object[] { "first test", "second test" };
}



标识单独的测试用例
为了在参数化测试中方便的标识出每个测试用例,你可以通过 @Parameters注释 添加一个名字,该名字允许包括用例执行时被替代的占位符。
  • {index}: 当前的参数索引
  • {0}, {1}, …: 第一个参数值,第二个参数值,等等。 注意:单字符 '应该被转义为双字符''.

例子请参考FibonacciTest3.



 

 

posted @ 2017-02-15 17:54  Cranberries  阅读(118)  评论(0)    收藏  举报