首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在用Mockito做单元测试时如何使用doAnswer…when

    添加关注 刚使用Mockito来做Java项目的单元测试时,对doAnswer…when的使用场合不怎么理解,查了Mockito的官方文档和网上的各种资料,感觉都说得不够清楚。...原来,doAnswer…when和when…thenReturn的功能类似,都是用于给模拟对象指定调用其方法后的返回值,只不过二者有如下区别: 01 when…thenReturn: 当我们为模拟对象指定调用其方法的返回值时..., when…thenReturn用于直接返回一个简单的值。...下面通过代码来看它们的使用场合, 首先是使用when…thenReturn的代码: @Mock private SecurityBean testSecurity; ......Mockito.when(testSecurity.getSecurityId()).thenReturn("testSecurityId"); ... } catch

    12.8K10

    Mockito入门教程:让Java单元测试变得简单有趣

    :定义模拟行为的艺术基础用法when().thenReturn()是Mockito的核心语法,用来定义模拟对象的行为:```java// 简单返回值when(userRepository.findById...(1L)).thenReturn(new User("张三"));// 返回nullwhen(userRepository.findById(999L)).thenReturn(null);// 抛出异常...when(userRepository.findById(-1L)).thenThrow(new IllegalArgumentException("用户ID不能为负数"));```参数匹配器Mockito...提供了强大的参数匹配器,让你能够更灵活地定义行为:```java// 匹配任意Long类型参数when(userRepository.findById(anyLong())).thenReturn(defaultUser...);// 匹配特定条件when(userRepository.findById(longThat(id -> id > 100))).thenReturn(vipUser);// 匹配字符串when(userRepository.findByName

    1.1K10
    领券