TestNG:Eclipse插件中的测试名称

时间:2012-07-26 23:38:05

标签: eclipse testng

假设我有一个简单的测试:

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()

,该怎么办?

1 个答案:

答案 0 :(得分:0)

让您的测试工具org.testng.ITest并覆盖getName()以返回实例的名称。