【发布时间】:2018-06-04 10:48:10
【问题描述】:
我从PostgreSQL 数据库和一个简单的 CRUD 服务/存储库(全部基于 spring-boot)中获得了一个简单的 API 加载数据。我已将服务层中的创建/更新方法标记为:
@Transactional(timeout=5)
public void create(Entity x){
...
repository.save(x)
}
如何测试(顺便说一下集成测试)超时异常下的条件会被抛出?我的存储库是CrudRepository 的扩展。
类似doTimeout(6000).when(repository).save(...)
【问题讨论】:
-
您不需要测试事务超时。它是 Spring 系统的一部分,而不是您的系统。
-
@DwB 我有你的意见,但我同意这篇文章中描述的所有方面:the-music-of-time.blogspot.com.br/2012/10/…。我喜欢考虑我在方法中描述的合同,删除它会大大改变它。
标签: spring spring-boot spring-data-jpa transactional