我想编写 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)); } }
但是,如何读取多个文件并为每个文件创建单独的测试套件,每个文件都有不同的套件特定设置/拆卸?
这可能会有所帮助: Running TestNG programmatically您可以使用XMLSuite类创建动态套件,可能会将您的文件名设置为套件中的参数,并将您的setup / teardown设置为侦听器.