我正在为一堆课程编写Junit测试用例;他们每个人都有一些测试方法。我即将测试的课程如下所示。
class A{
int getNth(int n);
int getCount();
}
class B{
int[] getAllNth(int n);
int getMin();
}
我将每个class.method()
的预期结果存储在一个文件中。例如,在CSV中,
A; getNth(1):7; getNth(2):3; getCount():3
B; getAllNth(2):[7,3]; getAllNth(3):[7,3,4]; getMin():3
我的问题是如何在测试用例中轻松检索这些值。我希望将方法调用A.getNth(2)
传递给可以构建字符串"A.getNth(2)"
如果我存储数据的格式不理想,也可以随意给出建议。
答案 0 :(得分:0)
听起来您可能想要使用Fitnesse?
答案 1 :(得分:0)
不确定JUnit,但是如何使用数据提供程序使用TestNG执行此操作:
@DataProvider
public Object[][] dp() {
return new Object[][] {
new Object[] { 1, 7 },
new Object[] { 2, 3 },
};
}
@Test(dataProvider = "dp")
public nthShouldMatch(int parameter, int expected) {
Assert.assertEquals(getNth(parameter), expected);
}
显然,你应该以一种从电子表格中检索其值的方式实现dp(),而不是像我刚才那样对它们进行硬编码,但你明白了。实现数据提供程序后,您只需更新电子表格即可,甚至无需重新编译代码。