0
我已经在数据库中创建了一个新用户,但是当我尝试与检索到的用户idUser进行比较时,它与此不同。新的idUser是0,retreived是自动增量。 idUser是表的主键和自动增量。 用户名是唯一的。如何比较没有id的bean和检索到的id字段?
的JUnit测试代码
@Test
public void testCreateRetrieve() {
userDao.create(user1);
List<User> users = userDao.getAllUsers();
assertEquals("One user should have been created and retrieved", 1, users.size());
assertEquals("Inserted user should match user retreived", user1, users.get(0)); //They are not equal
userDao.create(user2);
userDao.create(user3);
userDao.create(user4);
assertEquals("Should be 4 inserted users", 4, users.size());
}
错误
java.lang.AssertionError: Inserted user should match user retreived expected:
<User [idUser=0, aka=joe, username=josema, [email protected], extension=, logInSession=null, logOutSession=null, blockedAccess=false, password=josema, passwordDate=null, computerName=, timestamp=null]>
but was:
<User [idUser=19, aka=joe, username=josema, [email protected], extension=, logInSession=null, logOutSession=null, blockedAccess=false, password=josema, passwordDate=null, computerName=, timestamp=2014-03-31 12:37:41.0]>
我怎么会做测试?或者我如何检查用户是否一样? 是否只有这样才能重写equals()和hashcode()方法?
请张贴您的用户实体与它的映射 – gadget