我想知道在执行TestNG和TestNG ant任务时,surefire有什么不同?原因是,当尝试运行扩展TestNG测试库的JUnit测试时,我看到行为上的一致差异(这是在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();
}
}发布于 2010-06-26 05:00:04
简单地说,ant任务是TestNG发行版的一部分,所以它是我们测试的一部分,我总是确保它在TestNG中保持最新。
Surefire是作为Maven项目的一部分开发的,因此,它有时会滞后(就像您一样,我有时在使用Surefire运行测试时遇到一些bug,这些bug在从命令行/ant/Eclipse运行时不会发生)。
我会让Maven团队注意这个问题,也许他们会有更多的话要说。
发布于 2010-06-26 10:03:19
这看起来是一个已知的错误:http://jira.codehaus.org/browse/SUREFIRE-575。
您是否尝试过使用TestNG可扩展标记语言套件定义来代替Surefire的自动测试用例检测?
https://stackoverflow.com/questions/3121045
复制相似问题