我计划使用 ehcahe 来缓存一些我经常使用的对象。我在集群配置中有一个 ehcache。
现在我想在我的 JUnit 中执行以下操作-
- 检查 hibernate ehcache 代码在集群模式下是否正常工作。
- 检查我的对象是否正确地从缓存中提取,而不是从 WS 重新创建。
有什么想法吗?
最佳答案
问> 检查 hibernate ehcache 代码在集群模式下是否正常工作。
答> 你将不得不模拟很多东西 - 双层(至少两个单独的实例)数据库,至少可以说 Hibernate 和 Ehcache。这可能是可行的,但对我来说,这在很多层面上都没有意义。首先,单元的定义是应用程序的最小可测试部分 - 而本例与此相差甚远。其次,我确信 Ehcache 本身有单元/集成测试,你真的对你的库缺乏信任,以至于你想为它们编写单元测试吗? (概念验证与单元测试有很大不同)
问> 检查我的对象是否正确地从缓存中获取,而不是从 WS 重新创建。
A> 根据缓存策略 ( cache-aside VS cache-as-sor VS read-through ),场景有很大不同。然而,这应该很容易,因为您可以控制您的 WS。在测试期间,您应该能够确定 WS 被调用了多少次 - 比如说,如果对缓存的第一次通读调用导致对 WS 的调用,那么第二次调用就不应该(因为记录被缓存)。
关于java - 集群 ehcache 的 Junit 测试策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310920/