提问者:小点点

模拟@UpdateTimestampHibernate注释


我有一个具有updated_time列的实体,该实体使用@UpdateTimestampHibernate注释来自动处理更新,在我的测试中,我需要用7天前的update_time值来播种一些旧数据。

是否可以模拟@UpdateTimestamp以返回特定日期,而不模拟System. current tTimeMillis()

注意:我使用的测试框架是JUnit


共1个答案

匿名用户

我很惊讶,如果有mockito注释,那不是它的范围。您可以在测试中使用Hibernate后加载拦截器来更新您的数据。

但是,如果您想获得更多的可靠性,您可以使用dbunit并在每次测试之前创建适当的数据库设置,因此无需通过hibernate进行操作。

为此,可以使用内存db,并为每个测试从头开始创建测试数据,这样您就不必依赖于您操作的某些存量数据设置。我认为H2很流行。