是否可以通过其类型之外的其他内容对DataPoints进行分组?
例如,假设我有一个我想测试的理论,使用“age”和“weight”作为参数:
@Theory
public void testSomething(int age, int weight) { ... }
其中,例如,“年龄”可以是10,20或50,重量可以是50,100或200.
AFAIK,我不能告诉JUnit一些int DataPoints对应于年龄,其他的对应于权重。有人知道有没有办法做到这一点?
答案 0 :(得分:0)
我认为数据点是静态的,所以我认为你不能在这里使用它们。
仅供参考,以下是使用TestNG:
执行此操作的方法@DataProvider
public Object[][] dp() {
List<Object[]> result = Lists.newArrayList();
for (int i : Arrays.asList(10, 20, 50)) {
for (int j : Arrays.asList(50, 100, 200)) {
result.add(new Object[] { i, j });
}
}
return result.toArray(new Object[result.size()][]);
}
@Test(dataProvider = "dp")
public void testSomething(int age, int weight) {
System.out.println("Age:" + age + " weight:" + weight);
}
将打印:
Age:10 weight:50
Age:10 weight:100
Age:10 weight:200
Age:20 weight:50
Age:20 weight:100
Age:20 weight:200
Age:50 weight:50
Age:50 weight:100
Age:50 weight:200
===============================================
SingleSuite
Total tests run: 9, Failures: 0, Skips: 0
===============================================