次の方法がある場合:
public void handleUser(String user) {
User user = new User("Bob");
Phone phone = userDao.getPhone(user);
//something else
}
EasyMock を使用してモックでこれをテストしているとき、とにかく、次のように 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());