51Testing软件测试论坛

标题: mybatisPlus,使用JMockit 进行mock Iservice 的getOne 方法 [打印本页]

作者: 测试积点老人    时间: 2021-7-30 16:07
标题: mybatisPlus,使用JMockit 进行mock Iservice 的getOne 方法
  1. 1. 我有一个 Userservice  继承mybatisPlus的通用service, 默认就会实现了 getOne方法
  2. @Service
  3. @Slf4j
  4. public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> implements UserService {
  5. }
  6. 2. 我在controller 中调用
  7.     @GetMapping("/demo/user")
  8.     public String demostr() {
  9.         QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
  10.         queryWrapper.eq("u_id", "123");
  11.         UserEntity one = userService.getOne(queryWrapper);
  12.         return one.getUName();
  13.     }
  14. 3. 进行 junit mock
  15.     @Test
  16.     public void testService(@Mocked UserService userService) {
  17. //        new Expectations() {
  18. //            {
  19. //                UserService u2 = new UserServiceImpl();
  20. //                u2.getOne(new QueryWrapper<UserEntity>());
  21. ////                userService.getOne(new QueryWrapper<UserEntity>());
  22. //                UserEntity u = new UserEntity();
  23. //                u.setUId("123");
  24. //                u.setUName("456");
  25. //                result = u;
  26. ////                returns(u,u,u,u);
  27. ////                userService.aaa();
  28. ////                result = "nnn";
  29. //            }
  30. //        };
  31.         new MockUp<ServiceImpl<UserMapper, UserEntity>>() {
  32.             @Mock
  33.             public UserEntity getOne(Wrapper<UserEntity> userEntityWrapper) {
  34.                 UserEntity u = new UserEntity();
  35.                 u.setUId("123");
  36.                 u.setUName("456");
  37.                 return u;
  38.             }
  39.         };
  40.         Assertions.assertThat(userController.demostr())
  41.                 .isEqualTo("456");
  42.     }
  43. 无论是使用 expectations  还是MockUP 都不行
复制代码



作者: 海海豚    时间: 2021-8-2 09:35
改成@Mocked UserServiceImpl userServiceImpl
作者: qqq911    时间: 2021-8-2 10:54
报错信息是什么?

作者: bellas    时间: 2021-8-2 12:11
参考https://blog.csdn.net/chendaike/article/details/90901495




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2