假设我有一个简单的测试:
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中运行它时,我在“所有测试”选项卡中只得到一个而不是两个;两个测试实例在SimpleTestFactory
- >下“分组在一起” testOne()
。此外,假设testOne()
中的if-block导致实例2失败。然后,结果在“所有测试”选项卡中,它可能会显示(取决于实例1或实例2是否是第一个)测试传递堆栈跟踪或测试失败而没有堆栈跟踪,就好像一个实例的结果覆盖了另一个实例。
如何才能获得它以便分别显示两个实例?也就是说,我得到类似SimpleTestFactory[1]
- >的内容。 testOne()
和SimpleTestFactory[2]
- > testOne()
?如果我添加第二个测试testTwo()
?
答案 0 :(得分:0)
让您的测试工具org.testng.ITest
并覆盖getName()
以返回实例的名称。