java - 模拟方法不抛出异常
问题描述
我有在特殊情况下抛出异常的方法。我想编写一个测试用例来检查未引发异常时的行为。我在文档或示例中找不到这个。请帮忙。
例如:
when(validator.validate(any(ValidationData.class))).thenThrow(new ValidationException());
但我想测试一下根本没有抛出异常:
class Validator {
void validate(ValidationData dataToValidate) throws Exception {
}
}
例如我需要类似的东西:
when(doSomething()).thenNotThrowException
或者
when(doSomething()).thenDoNothing
解决方案
默认情况下,Mockito 的 mock 对 void 方法什么都不做,所以你不需要写任何东西。
如果你想明确地这样做,试试这个:
doNothing().when( validator ).validate( any() );
推荐阅读
- php - GuzzleHttp 请求不起作用
- java - 在接口中使用泛型类列表时的不兼容类型
- linux - 跳过获取配置文件'main/binary-i386/Packages'
- amazon-web-services - 如何在 AWS 上运行单次运行的非联网/非扩展 docker 应用程序
- javascript - 如何解决 Uncaught SyntaxError: Unexpected token < in JSON at position 0 console 错误?
- vue.js - v-cards 从顶部开始而不是垂直居中(Vuetify)
- erd - Common Data Model 中的 ERD 文件 - 如何打开?欧文/PowerDesigner?
- node.js - MeteorJS Mup 部署:挂在“node-pre-gyp WARN 使用 node-pre-gyp https 下载请求”
- amazon-web-services - AWS Managed Airflow - 如何在触发长时间运行的 lambda 时解决 350 秒超时
- python-3.x - 为什么记录器级别始终为零?我怎样才能得到真正的水平?