我想编写 Java 代码,从一个充满文件的目录中动态创建多个 TestNG 测试套件。每个文件对应一个测试套件,其中包含基于文件内容的测试。关键是我需要为每个套件进行特定的设置和拆除。
我知道我可以使用 Factory 注释从单个文件动态构建测试。例如:
public class TestFactory {
@Factory
public Object[] createTestFromFile() throws Exception {
ArrayList<MyTest> tests = new ArrayList<MyTest>();
BufferedReader reader = new BufferedReader(new FileReader("test1.txt"));
String testData;
while ((testData = reader.readLine()) != null) {
tests.add(new MyTest(testData));
}
return tests.toArray();
}
}
public class MyTest {
private String testData;
public MyTest(String testData) {
this.testData = testData;
}
@Test
public void runTest() {
assertTrue(testData.equals(testData));
}
}
但是如何读取多个文件并为每个文件创建一个单独的测试套件,每个文件都有不同的套件特定设置/拆卸?