Junit:改变测试运行的顺序

时间:2012-07-12 08:39:11

标签: unit-testing netbeans junit

我在一个类中有100个测试,并通过单击"测试项目(...)运行所有测试。它们以随机顺序运行,我希望它们以特定的顺序运行 - 从开始到结束,与我编写它们的顺序相同。在eclipse中它不是问题,因为eclipse就是这样的,如何在netbeans中做到这一点?

任何帮助将不胜感激。

编辑(由于答案):清除日志需要测试顺序。他们是独立的。

4 个答案:

答案 0 :(得分:3)

如果您的测试需要按特定顺序运行,那么您的设计就会出现问题。 需要一个接一个地运行的2个测试是1个测试。在搜索解决方案之前请考虑这一点。

检查此https://blogs.oracle.com/mindless/entry/controlling_the_order_of_junit

答案 1 :(得分:2)

根据其他测试进行测试99.9%的时间是一个非常糟糕的主意。单元测试应该是相互独立的,否则你可能会有一连串的错误,或者(甚至更糟)一个测试失败,因为之前的某个测试确实发生过。

如果你仍然想要经历这种痛苦,你需要使用不同的单元测试框架(例如TestNG - 参见dependsOnMethods),它支持测试依赖性。

Junit不支持此功能,因为许多人认为这是一种不好的做法(出于很好的理由)。

答案 2 :(得分:2)

下一个JUnit版本将support ordering of test methods.标准的Maven Surefire插件supports ordering of test methods already

答案 3 :(得分:1)

Netbeans与ant构建文件有很好的集成。您可以编写一个特定的ant目标,它可以按顺序执行每个测试。