【问题标题】:TestNG Ant tasks vs SurefireTestNG Ant 任务与 Surefire
【发布时间】:2010-06-25 19:57:18
【问题描述】:

我想知道在执行 TestNG 和 TestNG ant 任务时,surefire 有什么不同?原因是当我尝试运行扩展 JUnit 测试库的 TestNG 测试时,我看到行为的一致差异(这是在此处描述的 TestNG 中运行 JBehave 测试的解决方法:http://jbehave.org/documentation/faq/)。 Surefire 错误地将我的测试检测为 JUnit 测试(可能是因为它的基础是 TestCase),而 Ant 任务运行良好。谁能提供有关 TestNG 如何处理这两种情况的见解?

测试如下:

public class YourScenario extends JUnitScenario {

@org.testng.annotations.Test 
public void runScenario() throws Throwable {
    super.runScenario();
}
}

【问题讨论】:

    标签: java junit testng surefire


    【解决方案1】:

    简短的回答是,ant 任务是 TestNG 发行版的一部分,因此它是我们测试的一部分,我始终确保它与 TestNG 保持同步。

    Surefire 是作为 Maven 项目的一部分开发的,因此,它有时会落后(就像您一样,我有时在使用 Surefire 运行测试时遇到从命令行运行时没有发生的错误/蚂蚁/Eclipse)。

    我会将这个问题提请 Maven 团队注意,也许他们会有更多要说的。

    【讨论】:

      【解决方案2】:

      这似乎是一个已知错误:http://jira.codehaus.org/browse/SUREFIRE-575

      您是否尝试过使用 TestNG XML 套件定义而不是 Surefire 的自动测试用例检测?

      【讨论】:

      • 这可能有效,但不幸的是对我没有帮助,因为我正在通过过滤器以运行测试,例如(**/*Test) 来自外部脚本。所以坚持使用 ant-tasks 比执行一些脚本来修改带有过滤器输入的 xml 更简单。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      • 1970-01-01
      相关资源
      最近更新 更多