ファイルでいっぱいのディレクトリから複数のTestNGテストスイートを動的に作成するJavaコードを書きたいです。各ファイルは、ファイルの内容に基づくテストを含むテストスイートに対応しています。重要なのは、スイートごとに特定のセットアップと破棄を行う必要があるということです。
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));
}
}
しかし、複数のファイルを読み取り、ファイルごとに個別のテストスイートを作成し、それぞれに異なるスイート固有のセットアップ/ティアダウンを設定するにはどうすればよいですか?