Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当条件满足时,如何忽略单元测试?_Java_Junit_Mockito - Fatal编程技术网

Java 当条件满足时,如何忽略单元测试?

Java 当条件满足时,如何忽略单元测试?,java,junit,mockito,Java,Junit,Mockito,我想知道是否有一种注释或方法仅在满足前置条件时执行测试? 我遇到的情况是,在达到特定日期之前,某些测试是相关的。 我使用JUnit,Mockito。 谢谢您可以使用该课程 用于说明条件假设的一组方法 其中一个测试是有意义的。失败的假设并不意味着失败 代码被破坏,但是测试没有提供有用的信息。这个 默认JUnit runner将假设失败的测试视为忽略 因此,在测试开始时,您可以编写 Assume.assumeThat("Condition not true - ignoreing test", my

我想知道是否有一种注释或方法仅在满足前置条件时执行测试? 我遇到的情况是,在达到特定日期之前,某些测试是相关的。 我使用JUnit,Mockito。 谢谢

您可以使用该课程

用于说明条件假设的一组方法 其中一个测试是有意义的。失败的假设并不意味着失败 代码被破坏,但是测试没有提供有用的信息。这个 默认JUnit runner将假设失败的测试视为忽略

因此,在测试开始时,您可以编写

Assume.assumeThat("Condition not true - ignoreing test", myPreCondition);

如果
mypredition
为false,JUnit将忽略此测试。

您可以使用ASSUBE来完成此操作

在下面所示的示例中,我想检查case if
premission==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上运行时)。这意味着,如果这类事情对您很重要,您必须有某种方法来识别跳过的测试。