据我所知,跳过一个测试用例最简单的方法是删除@Test注解,但是在大量的测试用例上这样做是很麻烦的。我想知道JUnit中是否有任何注解可以有条件地关闭一些测试用例。
@Test
bprjcwpo1#
很难知道它是您正在寻找的@Ignore注解,还是您实际上想要有条件地关闭某些JUnit测试。有条件地关闭测试用例是使用Assume完成的。您可以阅读junit 4.5的release notes中的假设这里还有一个关于stack over flow的很好的线程:Conditionally ignoring tests in JUnit 4
@Ignore
Assume
cnwbcb6i2#
正如其他人在这里所说的,“Ignore”忽略了一个测试。如果你想要一些有条件的东西,看看junit的假设。http://junit.sourceforge.net/javadoc/org/junit/Assume.html它的工作原理是查看一个条件,只有在满足该条件时才继续运行测试。如果条件为假,则测试被有效地“忽略”。如果你把它放在一个helper类中,并从你的许多测试中调用它,你就可以以你想要的方式有效地使用它。希望能帮上忙。
e37o9pze3#
您可以使用@Ignore注解,将其添加到单个测试或测试类中以将其停用。如果您需要一些有条件的东西,您将必须创建一个自定义的测试运行器,您可以使用
@RunWith(YourCustomTestRunner.class)
您可以使用它来定义自定义注解,该注解使用表达式语言或引用系统属性来检查是否应该运行测试。但这样的野兽并不存在的盒子。
ymzxtsji4#
如果你使用JUnit 4.x,就使用@Ignore。参见here
wyyhbhjk5#
如果条件为false,可以使用assumeTrue(your_condition)跳过测试。在下面的例子中,如果文件不存在,junit将跳过测试。
File file = new File("path/to/your/file"); assumeTrue(file.exists());
5条答案
按热度按时间bprjcwpo1#
很难知道它是您正在寻找的
@Ignore
注解,还是您实际上想要有条件地关闭某些JUnit测试。有条件地关闭测试用例是使用Assume
完成的。您可以阅读junit 4.5的release notes中的假设
这里还有一个关于stack over flow的很好的线程:Conditionally ignoring tests in JUnit 4
cnwbcb6i2#
正如其他人在这里所说的,“Ignore”忽略了一个测试。
如果你想要一些有条件的东西,看看junit的假设。
http://junit.sourceforge.net/javadoc/org/junit/Assume.html
它的工作原理是查看一个条件,只有在满足该条件时才继续运行测试。如果条件为假,则测试被有效地“忽略”。
如果你把它放在一个helper类中,并从你的许多测试中调用它,你就可以以你想要的方式有效地使用它。希望能帮上忙。
e37o9pze3#
您可以使用
@Ignore
注解,将其添加到单个测试或测试类中以将其停用。如果您需要一些有条件的东西,您将必须创建一个自定义的测试运行器,您可以使用
您可以使用它来定义自定义注解,该注解使用表达式语言或引用系统属性来检查是否应该运行测试。但这样的野兽并不存在的盒子。
ymzxtsji4#
如果你使用JUnit 4.x,就使用
@Ignore
。参见herewyyhbhjk5#
如果条件为false,可以使用assumeTrue(your_condition)跳过测试。在下面的例子中,如果文件不存在,junit将跳过测试。