在测试Rails代码时,我经常需要清除缓存后面的条件,因为更改发生在不到一秒的时间内,缓存键使用二次精度时间戳(或使用类似Timecop的时间来扭曲时间戳)。
我知道使用null_store
禁用所有测试的缓存,但我希望能够使用缓存测试。有没有办法禁用特定测试或代码块的缓存?
提前感谢任何见解。
答案 0 :(得分:0)
您可以从测试脚本中动态更改cache_store
。对于特定测试,您可以使用cache_store
将null_store
设置为Rails.configuration.cache_store = :null_store
。
然后,您可以将cache_store
还原为以前的商店,例如Rails.configuration.cache_store = :memory_store
。