java - 有没有办法绕过 AuditingEntityListener 来设置测试数据?

标签 java spring unit-testing jpa auditing

我们有一个在我们的 JPA 实体上使用 AuditingEntityListener 的 Spring 项目:

@EntityListeners(AuditingEntityListener.class)

我们的基本实体有一个 lastModifiedDate 定义为:

@Column(name = "modified_time")
@LastModifiedDate
@Temporal(TemporalType.TIMESTAMP)
private Date lastModifiedDate;

保存或更新实体时会自动设置此值 - 这就是我们希望应用程序的行为方式。但是,当我们尝试在我们的测试套件中设置数据时,我们遇到了问题,因为在某些情况下(不是全部),我们想绕过该字段的自动设置并自己设置值。在这种特定情况下,我们尝试订购一堆测试数据,然后对其运行测试。

有没有办法绕过或关闭 AuditingEntityListener 以创建测试数据?

最佳答案

声明

@MockBean
private AuditingHandler auditingHandler

在您的测试中应该防止 @LastModifiedDate 产生任何影响。

关于java - 有没有办法绕过 AuditingEntityListener 来设置测试数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25812061/

相关文章:

java - Spring Data JPA 通过集合查找

java - Spring:如何从实现通用接口(interface)的应用程序上下文中获取bean?

Python 单元测试和发现

java - Powermock 无法模拟静态类

java - Android过滤对象列表

java - 打印 JFrame 及其组件

java - Intellij IDEA 中的 A 代表什么?

java - 用Java确定给定时间内的频率

java - 用户能够访问管理员角色页面 - Spring Security

python - 在后续构建步骤中从脚本访问 TeamCity 测试结果