我想知道是否有注释或方法仅在 pre-conditoin 满足时才执行测试?我有一种情况,在满足特定日期之前,一些测试是相关的。我使用 JUnit,Mockito。谢谢
问问题
3551 次
2 回答
9
您可以通过使用 Assume 来做到这一点。
在下面显示的示例中,我想检查状态以防万一precondition==true
,并且我想断言在precondition==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();
}
希望这对您有所帮助。
于 2013-10-10T16:43:55.817 回答
7
您可以使用Assume类
一组方法,可用于陈述有关测试有意义的条件的假设。失败的假设并不意味着代码被破坏,而是测试没有提供有用的信息。默认的 JUnit 运行器将假设失败的测试视为忽略。
所以在你的测试开始时你可以写
Assume.assumeThat("Condition not true - ignoreing test", myPreCondition);
myPreCondition
如果为假,JUnit 将忽略此测试。
于 2013-10-10T16:41:51.310 回答