使ehcache对测试代码进行读写,对生产代码进行只读

时间:2010-05-12 18:35:10

标签: hibernate junit ehcache

我想用

注释包含参考数据和/或配置数据的许多Hibernate实体
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)

但是,我的JUnit测试正在使用Hibernate实体设置和拆除一些此参考/配置数据。 是否有推荐的方法让实体在测试设置和拆卸期间进行读写,但只读生产代码?

我对非理想解决方法的两个直接想法是:

  • 使用NONSTRICT_READ_WRITE,但我不确定隐藏的缺点是什么。
  • 在我的测试代码中创建子类化实体以覆盖只读缓存注释。

有关最干净的处理方法的任何建议吗?

(注意:Project使用maven。)

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:

使用NON_STRICT_READ_WRITE是一个合理的解决方案,具有READ_ONLY的大部分优点,但允许您的测试代码插入和更新实体。

请记住在测试设置期间逐出任何缓存的项目,以确保您不会读取陈旧的测试数据。 (例如evictQueries())。