Java 从数据库Jnit测试中的用户ID获取用户
因此,我试图创建一个测试来检查我的方法中的用户Id是否与数据库中的相同。我有这个:Java 从数据库Jnit测试中的用户ID获取用户,java,junit,Java,Junit,因此,我试图创建一个测试来检查我的方法中的用户Id是否与数据库中的相同。我有这个: @Test public void testGetUserbyUserId() { System.out.println("getUserbyUserId"); int UserId = 30; UserDao instance = new UserDao(); Users user = instance.getUserbyUserId(UserId); Users exp
@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);
}
每当我运行此测试时,测试都会失败,并且in表示用户对象不同。我怎样才能得到同样的结果,怎样才能使这个测试更好?谢谢您需要告诉java,如何比较用户的两个不同实例。例如,在用户实现中添加以下方法:
@Override
public boolean equals(Object otherUser) {
if(otherUser instanceof User)
return ((User) otherUser).getUserId() == getUserId();
else
return false;
};
或者懒洋洋地
assertEquals(expResult.getUserId(), result.getUserId());
你在Users类中重写equals()了吗?没有。是的,我想我已经重写了equals方法,谢谢