次のような簡単なテストがあるとします。
public class SimpleTestFactory {
private int instanceNumber;
@Factory(dataProvider="provideTestData")
public SimpleTestFactory(int instanceNumber) {
this.instanceNumber = instanceNumber;
}
@DataProvider
public static Object[][] provideTestData() { return new Object[][] {{1},{2}}; }
@Test
public void testOne() { System.out.printf("Test 1, Instance %d%n", instanceNumber); }
}
これをEclipseで実行すると、[すべてのテスト]タブに2つではなく、1つのエントリしか表示されません。SimpleTestFactory
両方のテストインスタンスは、 ->の下で「グループ化」されtestOne()
ます。さらに、インスタンス2に失敗したif-blockがtestOne()
あるとします。次に、[すべてのテスト]タブの結果に、スタックトレースで合格したテストが表示される場合があります(インスタンス1またはインスタンス2のどちらが最初かによって異なります)。または、あるインスタンスの結果が別のインスタンスを上書きしているかのように、スタックトレースなしでテストが失敗します。
2つのインスタンスが別々に表示されるようにするにはどうすればよいですか?つまり、SimpleTestFactory[1]
->testOne()
とSimpleTestFactory[2]
->のようなものが得られtestOne()
ますか?2番目のテストを追加するとどうなりtestTwo()
ますか?