【问题标题】:Names for dynamically generated TestNG tests in Eclipse pluginEclipse 插件中动态生成的 TestNG 测试的名称
【发布时间】:2012-09-04 05:39:17
【问题描述】:

我使用@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。

【问题讨论】:

标签: java eclipse testng


【解决方案1】:

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

【讨论】:

  • 这对我有用,但 TestNG 视图中的测试名称包含额外的信息。我想出了一个稍微不同的解决方案来解决这个问题(见我的回答)。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2015-07-26
    • 2012-01-25
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多