【发布时间】:2014-08-04 23:20:10
【问题描述】:
我开发了一个 Spring Data 存储库,MemberRepository 接口,扩展了org.springframework.data.jpa.repository.JpaRepository。 MemberRepository 有一个方法:
@Cacheable(CacheConfiguration.DATABASE_CACHE_NAME)
Member findByEmail(String email);
结果由 Spring 缓存抽象缓存(由 ConcurrentMapCache 支持)。
我遇到的问题是我想编写一个集成测试(针对 hsqldb)断言结果是第一次从 db 中检索和 第二次从缓存中强>。
我最初想模拟 jpa 基础设施(实体管理器等),并以某种方式断言实体管理器没有被第二次调用,但它似乎太难/太麻烦了(参见 https://stackoverflow.com/a/23442457/536299)。
那么有人可以提供有关如何测试带有@Cacheable 注释的 Spring Data Repository 方法的缓存行为的建议吗?
【问题讨论】:
标签: spring testing spring-data spring-data-jpa spring-cache