首页 文章

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

提问于
浏览
3

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

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

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

2 回答

  • 4

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

  • 4

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

相关问题