所以我试图创建一个测试,检查我的方法中的用户ID是否与数据库中的相同。我有这个:
@Test
public void testGetUserbyUserId() {
System.out.println("getUserbyUserId");
int UserId = 30;
UserDao instance = new UserDao();
Users user = instance.getUserbyUserId(UserId);
Users expResult = user;
//assertNotNull(expResult);
Users result = instance.getUserbyUserId(user.getUserId());
assertEquals(expResult, result);
}
每当我运行它时测试失败并且说用户对象不一样。我怎样才能得到相同的结果?如何才能使这个测试更好?谢谢
答案 0 :(得分:1)
你需要告诉java,如何比较2个不同的User实例。例如。将以下方法添加到您的用户实现中:
@Override
public boolean equals(Object otherUser) {
if(otherUser instanceof User)
return ((User) otherUser).getUserId() == getUserId();
else
return false;
};
或懒洋洋地说;
assertEquals(expResult.getUserId(), result.getUserId());