我已经开始使用新的JUnit
Theories
用于参数化测试的功能。例如,如果你的理论是建立在
Integer
论点
Theories
测试运行程序接收任何
整数
标记为
@DataPoint
:
@DataPoint
public static Integer number = 0;
以及任何
整数
数组中的S:
@DataPoints
public static Integer[] numbers = {1, 2, 3};
或者甚至返回数组的方法,比如:
@DataPoints
public static Integer[] moreNumbers() { return new Integer[] {4, 5, 6}; };
但不在
List
S.以下内容不起作用:
@DataPoints
public static List<Integer> numberList = Arrays.asList(7, 8, 9);
编辑
:似乎也不支持其他集合,因为这不起作用。
@DataPoints
public static Collection<Integer> numberList = new HashSet<Integer>() {{
add(7);
add(8);
add(9);
}};
我做错了什么,还是做了什么?
表
S
Set
S等等。真的不工作吗?是否有意识的设计选择不允许使用
Collection
作为数据点,还是只是一个尚未实现的特性?是否计划在JUnit的未来版本中实现它?
(我目前使用的是4.8.1版,而最新版本是4.8.2版,但是
it looks like
这不是4.8.2中添加的内容)