参数化测试实例
Parameterized 运行器能实现参数化测试,引用该运行器测试某个类时,它会自动创建测试数据以便实现参数化测试。
例如,要测试Fibonacci function,代码请见Android Studio 中的FibonacciTest 类。Fibonacci function中,每个FibonacciTest 的实例都是用双参数构造器和@Parameter 方法中的数据值来构造的。
通过@Parameter 注释实现字段注入可以取代构造器。
为了优化Fibonacci function,引用@Parameter 注释后也可以抛开构造器,直接向字段中注入数据。代码请见Android Studio 中的FibonacciTest2 类。
采用单个数据测试(Since 4.12-beta-3)
如果只需要单个参数进行测试,不必非得写个数组包装该参数,可以提供一个对象的迭代或对象的数组(此处翻译不太确定?)代码如下:
@Parameterspublic static Iterable data() { return Arrays.asList("first test", "second test"); }
or
@Parameterspublic static Object[] data() { return new Object[] { "first test", "second test" }; } 标识单独的测试用例 为了在参数化测试中方便的标识出每个测试用例,你可以通过 @Parameters注释 添加一个名字,该名字允许包括用例执行时被替代的占位符。
{index}
: 当前的参数索引{0}, {1}, …
: 第一个参数值,第二个参数值,等等。 注意:单字符'应该被转义为双字符
''
.
例子请参考FibonacciTest3.