TestNG Ant任务与Surefire

时间:2010-06-25 19:57:19

标签: java junit testng surefire

我想知道在执行TestNG时,与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();
}
}

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

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

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