如何验证依赖方法?
在单元测试中,验证是确认模拟的依赖方法是否按照预期被调用或未调用的过程。 Mockito 提供了许多方法来验证依赖方法调用,给我们编写单元测试用例带来了很 大的帮助。
根据参数验证方法调用 1) 验证无参数方法调用 2) 验证指定参数方法调用 3) 验证任意参数方法调用 4) 验证可空参数方法调用 5) 验证必空参数方法调用 6) 验证可变参数方法调用 对于一些变长度参数方法,可以按实际参数个数进行验证: 也可以用 Mockito.any()进行通用验证:
验证方法调用次数 1) 验证方法默认调用 1 次 2) 验证方法从不调用 3) 验证方法调用 n 次 4) 验证方法调用至少 1 次 5) 验证方法调用至少 n 次 6) 验证方法调用最多 1 次 7) 验证方法调用最多 n 次 8) 验证方法调用指定 n 次 Mockito 允许按顺序进行验证方法调用,未被验证到的方法调用将不会被标记为已 验证。 9) 验证对象及其方法调用 1 次 用于验证对象及其方法调用 1 次,如果该对象还有别的方法被调用或者该方法调用 了多次,都将导致验证方法调用失败。
验证方法调用并捕获参数值 Mockito 提供 ArgumentCaptor 类来捕获参数值,通过调用 forClass(Class clazz) 方法来构建一个 ArgumentCaptor 对象,然后在验证方法调用时来捕获参数,最后 获取到捕获的参数值并验证。如果一个方法有多个参数都要捕获并验证,那就需要 创建多个 ArgumentCaptor 对象。
以上内容摘自《Java工程师必读手册》电子书,点击https://developer.aliyun.com/ebook/download/7780 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。