为unit testing
设置跨越所有可能测试用例的数据的最佳方法是什么?我有不同的情况需要检查空异常和其他自定义exceptions
。为了测试此类异常,我必须再次setup
数据和再次改变一些领域&最后,我的测试方法写入excel
文件&我必须使用期望值断言每个列值(具有50
个这样的列)。在json
中存储设置数据和断言预期数据应该是一个好方法吗?
答案 0 :(得分:0)
JUnit参数化测试。
请参阅:https://github.com/junit-team/junit4/wiki/Parameterized-tests
答案 1 :(得分:0)
您可以使用TestNG dataprovider作为示例:
//This method will provide data to any test method that declares that its Data Provider
//is named "test1"
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Cedric", new Integer(36) },
{ "Anne", new Integer(37)},
};
}
//This test method declares that its data should be supplied by the Data Provider
//named "test1"
@Test(dataProvider = "test1")
public void verifyData1(String n1, Integer n2) {
System.out.println(n1 + " " + n2);
}
另外,我建议您查看此list,也许您会找到更好的解决方案。
答案 2 :(得分:0)
这很简单,实际上:将相同的原则和实践应用于您的测试代码,以适用于精心设计的生产代码。
更具体地说,提取创建将测试数据保存到可重用辅助类和/或方法中的对象的公共代码,然后从测试方法中使用它们。
与使用Java语言相比,使用XML,JSON等数据文件并不是一个好主意,这使您在编写测试时获得了更多的功能和灵活性。
对于JUnit和TestNG提供的测试参数化API,我还没有看到一个引人注目的用例。