gpt4 book ai didi

java - Hibernate 二级数据缓存和集成/验收测试

转载 作者:搜寻专家 更新时间:2023-11-01 00:52:11 29 4
gpt4 key购买 nike

出于性能原因,我有一个启用了二级数据缓存的 JPA/Hibernate/Spring/Tomcat Web 应用程序。缓存的工作非常好!

我还有一个 Cucumber 测试套件,它将一些测试数据直接添加到应用程序的数据库,然后执行一些 Selenium 步骤。当然它会失败,因为应用程序由于二级缓存而看不到更新。

我知道我可以在禁用缓存的情况下进行特殊构建以进行测试(通过为 Maven 过滤或类似方法传递一些 boolean 属性)但是有很多 @Cache 注释实体因此禁用缓存会使应用程序失败并出现异常“二级缓存未启用”。

另一种方法可能是使用 ehcache 远程处理来清除缓存或将其配置为零对象生命周期或类似方法。

我也可以仅使用应用程序 UI 创建我的测试数据,但这会为测试用例增加不必要的复杂性,因此我更喜欢在测试运行之前将它们写入数据库。

有人可以分享他们在启用二级数据缓存的情况下集成测试应用程序的方法吗?

最佳答案

如果你需要用单元测试来测试二级缓存,你必须确保每次调用 dao 方法时关闭 session 并打开它。否则,您将使用仅存在于一个/当前 hibernate session 范围内的一级缓存。

关于java - Hibernate 二级数据缓存和集成/验收测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344160/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com