我有一个具有updated_time列的实体,该实体使用@UpdateTimestamp
Hibernate注释来自动处理更新,在我的测试中,我需要用7天前的update_time值来播种一些旧数据。
是否可以模拟@UpdateTimestamp
以返回特定日期,而不模拟System. current tTimeMillis()
?
注意:我使用的测试框架是JUnit
我很惊讶,如果有mockito注释,那不是它的范围。您可以在测试中使用Hibernate后加载拦截器来更新您的数据。
但是,如果您想获得更多的可靠性,您可以使用dbunit并在每次测试之前创建适当的数据库设置,因此无需通过hibernate进行操作。
为此,可以使用内存db,并为每个测试从头开始创建测试数据,这样您就不必依赖于您操作的某些存量数据设置。我认为H2很流行。