有没有办法禁用特定Rails测试或代码块的缓存?

时间:2017-06-24 22:46:57

标签: ruby-on-rails caching testing ruby-on-rails-5

在测试Rails代码时,我经常需要清除缓存后面的条件,因为更改发生在不到一秒的时间内,缓存键使用二次精度时间戳(或使用类似Timecop的时间来扭曲时间戳)。

我知道使用null_store禁用所有测试的缓存,但我希望能够使用缓存测试。有没有办法禁用特定测试或代码块的缓存?

提前感谢任何见解。

1 个答案:

答案 0 :(得分:0)

您可以从测试脚本中动态更改cache_store。对于特定测试,您可以使用cache_storenull_store设置为Rails.configuration.cache_store = :null_store

然后,您可以将cache_store还原为以前的商店,例如Rails.configuration.cache_store = :memory_store