将实体视为用户,它具有一些字段。在这里,我正在使用jpa回调函数来更新最后更新信息的用户信息。在测试类中,我想编写junit方法来评估这些回调方法是否有效/不仅用于功能测试和代码覆盖目的。但是,如果我遵循以下方法,每次都会得到相同的时间,那么任何人都可以帮忙。
@Entity
public class User {
// user setter and getter methods
@preUpdate
public void preUpdateFunction() {
this.lastUpdateDate = new Date();
}
@prePersist
public void prePersistFunction() {
// setting some user properties
preUpdateFunction();
}
}
//请忽略此配置和注释设置,我测试了我的类spring配置是否正常运行,spring配置没有问题。
@SpringConfiguration
@JpaTransactional
public class TestClass {
@Autowired
UserDao userDao; // userDao implements JPA Repository
// I am worrying about this functionality only
@Test
public void saveUpdateTest() {
User user = userDao.save(new User(constructor arguments));
user = userDao.findOne(user.getId());
user.setName("Hello"); // here updating user object with existing property
User updatedUser = userDao.save(user);
assertEquals(user.getLastUpdateDate().getTime(), updatedUser.getLastUpdateDate().getTime());
// assertion is failing, everytime i am getting same Time for two values. even I added //Thread.sleep(1000) between save and update operations, still i am getting same values.
}
}