Столкнулся с проблемой в одном из разрабатываемых Rails-приложений. Интеграционные тесты в cucumber проходят по одному, но при запуске всей кучей, начинают падать в failed.
Проблема оказалась в кэшировании данных через Rails.cache
. Так как, по-моему разумению, в окружении test всякое кэширование должно быть отключено, то пришлось наваять “заглушку” для кэша:
config/environments/test.rb
:
config.cache_store = :dummy_store
lib/dummy_store.rb
:
class DummyStore < ActiveSupport::Cache::Store
def initialize end
def read(name, options = nil) super end
def write(name, value, options = nil) super end
def delete(name, options = nil) super end
def delete_matched(matcher, options = nil) super end end