我有一个具有Updated_time列的实体。
实体使用@UpdateTimestamp
休眠注释自动处理更新。
在测试中,我需要从7天前开始使用update_time值播种一些旧数据。
是否可以模拟@UpdateTimestamp
以返回特定日期,而不必模拟System.currentTimeMillis()
?
注意: 我使用的测试框架是用于模拟的JUnit&Mockito。
答案 0 :(得分:0)
我很惊讶,如果有一个模仿注释,那实际上不是它的范围。您可以在测试中使用休眠post load interceptor来更新数据。
但是,如果要获得更高的可靠性,可以use dbunit并在每次测试之前创建正确的数据库设置,因此无需进行休眠操作。
可以为此目的而在内存中添加一个db,并为每个测试从头开始创建测试数据,因此您无需绑定到某些现有的数据设置。我认为H2很受欢迎。