【发布时间】:2010-09-21 22:48:58
【问题描述】:
如果我有以下方法:
public void handleUser(String user) {
User user = new User("Bob");
Phone phone = userDao.getPhone(user);
//something else
}
当我使用 EasyMock 使用 mock 进行测试时,是否可以像这样测试传递给我的 UserDao 模拟的 User 参数:
User user = new User("Bob");
EasyMock.expect(userDaoMock.getPhone(user)).andReturn(new Phone());
当我尝试运行上述测试时,它抱怨我假设的意外方法调用,因为在该方法中创建的实际用户与我传入的用户不同......我对此是否正确?
或者是我可以测试我传递给 UserDao 的参数的最严格的方法是:
EasyMock.expect(userDaoMock.getPhone(EasyMock.isA(User.class))).andReturn(new Phone());
【问题讨论】:
-
你的
User类有equals方法吗?
标签: unit-testing mocking easymock