我有在特殊情况下会引发异常的方法。我想编写一个测试用例,当不引发异常时将检查行为。 我在文档或示例中找不到此内容。请帮忙。
例如:
when(validator.validate(any(ValidationData.class))).thenThrow(new ValidationException());
但是我想测试一下根本不会引发异常:
class Validator {
void validate(ValidationData dataToValidate) throws Exception {
}
}
例如我需要类似的东西:
when(doSomething()).thenNotThrowException
或
when(doSomething()).thenDoNothing
答案 0 :(得分:1)
默认情况下,Mockito的模拟对void方法不执行任何操作,因此您无需编写任何内容。
如果您想明确地执行此操作,请尝试以下操作:
doNothing().when( validator ).validate( any() );
答案 1 :(得分:0)
要测试没有引发异常的情况,实际上您需要做的更少:
thenThrow
expected
没有任何@Test
属性)如果执行测试没有错误,则您的测试通过了。
答案 2 :(得分:0)
如果只想测试测试函数中没有异常,则应使用以下注释:@Test(expected = Test.None.class)
示例:
@Test(expected = Test.None.class)
public void testFunction() {
// some code
}