Java 当条件满足时,如何忽略单元测试?
我想知道是否有一种注释或方法仅在满足前置条件时执行测试? 我遇到的情况是,在达到特定日期之前,某些测试是相关的。 我使用JUnit,Mockito。 谢谢您可以使用该课程 用于说明条件假设的一组方法 其中一个测试是有意义的。失败的假设并不意味着失败 代码被破坏,但是测试没有提供有用的信息。这个 默认JUnit runner将假设失败的测试视为忽略 因此,在测试开始时,您可以编写Java 当条件满足时,如何忽略单元测试?,java,junit,mockito,Java,Junit,Mockito,我想知道是否有一种注释或方法仅在满足前置条件时执行测试? 我遇到的情况是,在达到特定日期之前,某些测试是相关的。 我使用JUnit,Mockito。 谢谢您可以使用该课程 用于说明条件假设的一组方法 其中一个测试是有意义的。失败的假设并不意味着失败 代码被破坏,但是测试没有提供有用的信息。这个 默认JUnit runner将假设失败的测试视为忽略 因此,在测试开始时,您可以编写 Assume.assumeThat("Condition not true - ignoreing test", my
Assume.assumeThat("Condition not true - ignoreing test", myPreCondition);
如果
mypredition
为false,JUnit将忽略此测试。您可以使用ASSUBE来完成此操作
在下面所示的示例中,我想检查case ifpremission==true
的状态,并断言在premission==false
的情况下抛出异常
@Test
public final void testExecute() throws InvalidSyntaxException {
Assume.assumeTrue(precondition); // Further execution will be skipped if precondition holds false
CommandResult result = sentence.getCommand().execute();
boolean status = Boolean.parseBoolean(result.getResult());
Assert.assertTrue(status);
}
@Test(expected = InvalidSyntaxException.class)
public final void testInvalidParse() throws InvalidSyntaxException {
Assume.assumeTrue(!precondition);
CommandResult result = sentence.getCommand().execute();
}
希望这对您有所帮助。您需要注意的唯一一件事是,假定类不会给您任何类型的失败/忽略指示器(至少在Maven上运行时)。这意味着,如果这类事情对您很重要,您必须有某种方法来识别跳过的测试。