首页 > 解决方案 > 模拟方法不抛出异常

问题描述

我有在特殊情况下抛出异常的方法。我想编写一个测试用例来检查未引发异常时的行为。我在文档或示例中找不到这个。请帮忙。

例如:

when(validator.validate(any(ValidationData.class))).thenThrow(new ValidationException());

但我想测试一下根本没有抛出异常:

class Validator {
    void validate(ValidationData dataToValidate) throws Exception {
    }
}

例如我需要类似的东西:

when(doSomething()).thenNotThrowException

或者

when(doSomething()).thenDoNothing

标签: javaexceptionmockingmockito

解决方案


默认情况下,Mockito 的 mock 对 void 方法什么都不做,所以你不需要写任何东西。

如果你想明确地这样做,试试这个:

doNothing().when( validator ).validate( any() );


推荐阅读