我想知道执行 TestNG 时的surefire 与 TestNG ant 任务有什么不同?原因是,当我尝试运行扩展 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();
}
}
最佳答案
简短的回答是,ant 任务是 TestNG 发行版的一部分,因此它是我们测试的一部分,我始终确保它与 TestNG 保持同步。
Surefire 是作为 Maven 项目的一部分开发的,因此,它有时会落后(就像您一样,我有时在使用 Surefire 运行测试时遇到错误,而从命令行运行时不会发生这些错误/ Ant /Eclipse)。
我会将这个问题提请 Maven 团队注意,也许他们会有更多要说的。
关于java - TestNG Ant 任务与 Surefire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121045/