Mat*_*rog 11 junit unit-testing
我已经开始使用新的(ish)JUnit Theories功能来参数化测试.如果您的理论设置为采用例如Integer参数,则Theories测试运动员会选择Integer标记为@DataPoint:
@DataPoint
public static Integer number = 0;
Run Code Online (Sandbox Code Playgroud)
以及Integer数组中的任何s:
@DataPoints
public static Integer[] numbers = {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)
甚至返回数组的方法,如:
@DataPoints
public static Integer[] moreNumbers() { return new Integer[] {4, 5, 6}; };
Run Code Online (Sandbox Code Playgroud)
但不是Lists.以下不起作用:
@DataPoints
public static List<Integer> numberList = Arrays.asList(7, 8, 9);
Run Code Online (Sandbox Code Playgroud)
编辑:看起来也不支持其他集合,因为这不起作用.
@DataPoints
public static Collection<Integer> numberList = new HashSet<Integer>() {{
add(7);
add(8);
add(9);
}};
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或做Lists,Sets等真的不行吗?它是一种有意识的设计选择,不允许使用Collections作为数据点,还是只是一个尚未实现的功能?是否有计划在未来的JUnit版本中实现它?
(我目前使用的是4.8.1版本,而最新版本是4.8.2,但看起来这不是4.8.2中添加的内容)
| 归档时间: |
|
| 查看次数: |
1555 次 |
| 最近记录: |