比方说,我有一个类UserDAO(),它具有多个名为findUser()的方法。但是,此findUser()方法多次重载,并且在所有实例中都返回一个User对象。
例如:
public class UserDAO {
public User findUser(int param1) {
*do stuff to create a user object*
return User;
}
public User findUser(int param1, long param2) {
*do stuff to create a user object*
return User;
}
public User findUser(long param2) {
*do stuff to create a user object*
return User;
}
}
比方说,我希望此类在测试其他类时返回一些通用的User对象。所以我想要类似的东西:
@Test
public void testSomething() {
User mockedUser = mock(User.class);
UserDAO mockedUserDAO = mock(UserDAO.class);
when(mockedUserDAO.findUser(*any parameter*)).thenReturn(mockedUser);
}
基本上,我不想单独模拟每个findUser()方法。有什么办法吗?
似乎接受的答案{{3}}可能提供了一个提示,但是我很难理解最hacky的解决方案,因为我是编码方面的新手。