Java 具有所需预处理的许多文件上的断言
我有一大组文件(>1000),我希望在这些文件上运行同一组断言。断言是按逻辑组组织的,因此我将它们分解为单个类中的30多个Java 具有所需预处理的许多文件上的断言,java,spring,testing,testng,integration-testing,Java,Spring,Testing,Testng,Integration Testing,我有一大组文件(>1000),我希望在这些文件上运行同一组断言。断言是按逻辑组组织的,因此我将它们分解为单个类中的30多个@Test方法 为了运行我想要的断言,我需要在每个文件之前运行一些昂贵的预处理,我的断言将根据预处理的结果运行 由于每个@Test方法都需要预处理,因此我希望为每个文件运行一次 我使用@DataProvider的方式如下: @ContextConfiguration({ "classpath:/META-INF/spring/ev-xml-test-context.xml"
@Test
方法
为了运行我想要的断言,我需要在每个文件之前运行一些昂贵的预处理,我的断言将根据预处理的结果运行
由于每个@Test
方法都需要预处理,因此我希望为每个文件运行一次
我使用@DataProvider
的方式如下:
@ContextConfiguration({ "classpath:/META-INF/spring/ev-xml-test-context.xml" })
public class FantasticTest extends AbstractTestNGSpringContextTests {
private String[][] FILES = new String[][] {
{ "file1.xml" },
{ "file2.xml" },
{ "..." },
{ "file1000.xml" }
};
private Map<String, Object> preProcessingResults = new HashMap<>();
@BeforeClass
public void setup() throws Exception {
for(int i=0; i<FILES.length; i++) {
preProcessingResults.put(FILES[i][0], expensivePreProcessing(FILES[i][0]));
}
}
private Object expensivePreProcessing(String file) {
// do something expensive
return new ExpensiveObject(file);
}
@DataProvider(name = "myDataProvider")
public String[][] dataProvider() {
return FILES;
}
@Test(dataProvider = "myDataProvider")
public void test1(String filename) {
Object preProcessingResultsForFile = preProcessingResults.get(filename);
// assertions
}
@Test(dataProvider = "myDataProvider")
public void test2(String filename) {
Object preProcessingResultsForFile = preProcessingResults.get(filename);
// assertions
}
// ...
@Test(dataProvider = "myDataProvider")
public void test30(String filename) {
Object preProcessingResultsForFile = preProcessingResults.get(filename);
// assertions
}
}
@ContextConfiguration({“classpath:/META-INF/spring/ev xml test context.xml})
公共类FantasticTest扩展了AbstractTestNGSpringContextTests{
私有字符串[][]文件=新字符串[][]{
{“file1.xml”},
{“file2.xml”},
{ "..." },
{“file1000.xml”}
};
私有映射预处理入口结果=新HashMap();
@课前
public void setup()引发异常{
对于(int i=0;i