随笔 - 239  文章 - 0  评论 - 29  阅读 - 69万

mockito5.4.0单元测试(10) --通过thenAnswer方法自定义callback返回值

mockito官方文档地址: https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#exact_verification

// mock一个对象
HashMap mockMap = mock(HashMap.class);
mockMap.put("key1", "value1");
mockMap.put("key2", "value2");
when(mockMap.get(anyString())).thenAnswer(
        new Answer() {
            public Object answer(InvocationOnMock invocation) {
                Object[] args = invocation.getArguments();
                Object mock = invocation.getMock();
                return "called with arguments: " + Arrays.toString(args); // 可以自定义返回值
            }
        });

//Following prints "called with arguments: [foo]"
System.out.println(mockMap.get("key1"));  // 返回值自定义为: called with arguments: [key1]
System.out.println(mockMap.get("key2"));  // 返回值自定义为: called with arguments: [key2]
System.out.println(mockMap.get("key3"));  // 返回值自定义为: called with arguments: [key3]

end.

posted on   梦幻朵颜  阅读(423)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2020-06-25 kafka2.5.0分区再均衡监听器java例子
2020-06-25 kafka2.5.0自定义分区器
2020-06-25 kafka2.5.0自定义数据序列化类
2020-06-25 kafka2.5.0生产者与消费者配置详解

点击右上角即可分享
微信分享提示