如果我有以下方法:
public void handleUser(String user) {
User user = new User("Bob");
Phone phone = userDao.getPhone(user);
//something else
}
当我使用 EasyMock 使用模拟测试这个时,我是否可以像这样测试传递给我的 UserDao 模拟的用户参数:
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());