Mockito 可以帮助我们创建 Mock 对象,mock 被调用的方法,断言调用次数,在方法参数不易确定的情况下还能帮我们捕获参数。下面是我们第一个问题:
为什么要捕获调用参数
在被 mocker 方法调用参数明确的情况下可无需捕获参数,例如,下面的情景:
1 2 3 4 5 6 7 8 9 10 |
@Test public void dontCaptureArgument() { UserDao userDao = Mockito.mock(UserDao.class); UserService userService = new UserService(userDao); User user = new User(1, "Yanbin"); userService.saveUser(user); //假如它的实现是 userDao.save(user) verify(userDao, times(1)).save(user); //断言了 userDao.save(user) 操作的还是 user 对象 } |
如果 UserService 的 save(user) 最终操作的不是同一个对象,它的实现稍加变化如下 阅读全文 >>