我想知道是否有注释或方法只能在pre-conditoin遇到时执行测试? 我有一种情况,在某个特定日期满足之前,某些测试是相关的。 我使用JUnit,Mockito。 感谢
答案 0 :(得分:8)
您可以使用Assume来完成此操作。
在下面显示的示例中,我想检查状态,如果precondition==true
并且我想断言在precondition==false
的情况下抛出异常。
@Test
public final void testExecute() throws InvalidSyntaxException {
Assume.assumeTrue(precondition); // Further execution will be skipped if this holds true
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();
}
希望这对你有所帮助。
答案 1 :(得分:5)
您可以使用Assume类
一组有用于说明条件假设的方法 其中测试有意义。失败的假设并不意味着 代码被破坏了,但测试没有提供有用的信息。该 默认的JUnit运行器将失败假设的测试视为忽略。
所以在测试开始时你可以写
Assume.assumeThat("Condition not true - ignoreing test", myPreCondition);
如果myPreCondition
为假,JUnit将忽略此测试。