0

我想知道在执行 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();
}
}
4

2 回答 2

3

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

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

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

于 2010-06-25T21:00:03.783 回答
1

这看起来是一个已知的错误:http: //jira.codehaus.org/browse/SUREFIRE-575

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

于 2010-06-26T02:03:18.570 回答