Eclipse插件中动态生成的TestNG测试的名称

时间:2012-09-04 05:39:17

标签: java eclipse testng

我使用@Factory注释将动态生成的JUnit测试套件转换为TestNG。通过扫描包含多个测试规范文件(用DSL编写)的目录并将它们加载到知道如何执行它们的测试类中来生成​​测试。测试类有一个名为@Test的{​​{1}}方法,实现test并按建议覆盖org.testng.ITest

但是,在TestNG Eclipse UI中,只显示了工厂和getTestName()的单个执行(尽管它按预期执行了几次)。使用JUnit,我将每个规范的名称列为单独的测试。这非常重要,因为几个测试规范可能会失败,我需要查看所有失败(这在我的TestNG Eclipse UI中不起作用)。

如何实现与TestNG类似的功能?我使用Eclipse TestNG插件6.7.0和testng 6.7。

2 个答案:

答案 0 :(得分:4)

尝试在测试类中扩展XmlTest并调用setName()。我扩展了XmlSuite并使用setName来命名我的“测试套件”,这是一个在其中定义了多个测试的类,这对我有用。事实上,我只是尝试了我在同一个类上建议的内容,现在它被称为具有正确名称的测试。我不确定为什么ITest界面被忽略,因为我也尝试了这种方法而没有成功。

答案 1 :(得分:4)

正如carlin.scott建议的那样,扩展XmlTest可以解决这个问题。但是,我覆盖toString()以返回测试名称(而不是调用setName)。这样做的好处是TestNG视图中的测试名称更易于阅读。默认情况下,它包含其他信息,如参数和元组。