JUnit中是否有任何条件注释标记要跳过的测试用例?

时间:2011-05-23 10:37:12

标签: java unit-testing junit

据我所知跳过测试用例,最简单的方法是删除@Test注释,但是在大量测试用例中执行它是很麻烦的。我想知道JUnit中是否有任何注释可以有条件地关闭一些测试用例。

4 个答案:

答案 0 :(得分:28)

很难知道它是否是您要查找的@Ignore注释,或者您是否确实要有条件地关闭某些JUnit测试。有条件地使用Assume关闭测试用例。

您可以在junit 4.5的release notes

中阅读有关假设的内容

在堆栈上还有一个相当不错的线程: Conditionally ignoring tests in JUnit 4

答案 1 :(得分:8)

正如其他人放在这里@Ignore忽略了一个测试。

如果你想要有条件的东西来看看junit假设。

http://junit.sourceforge.net/javadoc/org/junit/Assume.html

这通过查看条件并且仅在满足该条件的情况下继续运行测试来起作用。如果条件为假,则有效地“忽略”测试。

如果你把它放在一个帮助类中,并从你的一些测试中调用它,你可以按照你想要的方式有效地使用它。希望有所帮助。

答案 2 :(得分:5)

您可以使用@Ignore注释添加到单个测试或测试类中以停用它。

如果您需要有条件的东西,则必须创建一个可以使用

注册的自定义测试运行器
@RunWith(YourCustomTestRunner.class)

您可以使用它来定义使用表达式语言的自定义注释或引用系统属性来检查是否应该运行测试。但是这样的野兽不是开箱即用的。

答案 3 :(得分:2)

如果您使用JUnit 4.x,请使用@Ignore。见here