【发布时间】:2012-01-05 04:05:44
【问题描述】:
有了我的模拟,我得到了错误:
redisDao.someMethod(notNull(), notNull()): expected 1, actual 0
如果我删除了模拟设置,那么在调试模式下进行跟踪时,它会转到 redisDao.someMethod 方法,然后由于空指针异常而失败。
这对我来说没有意义,不知道如何解决这个问题?
mockMaker = EasyMock.createStrictControl();
redisDaoMock = mockMaker.createMock(redisDao.class);
userService.setRedisDao(redisDaoMock);
expect(redisDaoMock.someMethod(EasyMock.<String>notNull(), EasyMock.<String>notNull())).andReturn(someReturn);
mockMaker.replay();
mockMaker.verify();
userController.get(request, response);
// assertions here
【问题讨论】:
-
我不完全确定,但是你不应该把回放和验证或只是在方法调用之后验证?
-
很好,我认为 verify() 确实在方法调用之后进行。它验证你所期望的被调用了。
-
@srikanthradix 就是这样,谢谢。
标签: java unit-testing junit easymock