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

    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

    Mockito:让单元测试变得优雅简单的神器

    这就是Stub的作用:java// 当调用findById方法时,返回指定的用户对象when(mockRepository.findById(1L)).thenReturn(new User("张三")...高级特性探索参数匹配器Mockito提供了丰富的参数匹配器,让测试更加灵活:```java// 匹配任意对象when(service.process(any())).thenReturn("success...");// 匹配特定类型when(service.processUser(any(User.class))).thenReturn("user processed");// 匹配特定值when(service.getById...(eq(1L))).thenReturn(user);// 自定义匹配器when(service.processEmail(argThat(email -> email.contains("@gmail.com...异常模拟有时候我们需要测试异常情况:```java// 模拟方法抛出异常when(userRepository.findById(999L)) .thenThrow(new UserNotFoundException

    20610
    领券