1
我試圖在我的rspec場景中使用Rails.cache.read和Rails.cache.write helpers,但它不起作用。我正在使用dalli_store進行緩存存儲。 我在任何隨機測試場景中寫道Dalli緩存不起作用rspec
ActionController::Base.perform_caching = true
,然後運行僅此rspec的。當我跳到下一行的斷點,並嘗試在控制檯
Rails.cache.write("f", "b") => true
Rails.cache.read("f") => nil
寫當我做同樣的事情在控制檯開發ENV跑 - 我已經得到了所有預期的結果。它存儲在緩存中的值,並將其返回
config.cache_store設置爲:dalli_store值。但它沒有幫助。我想可能只是Rails.cache。*助手是行不通的。因爲如果我嘗試像這樣初始化dalli工作人員:CACHE = Dalli :: Client.new('127.0.0.1',{:namespace =>「my_project」,:expires_in => 3600,:socket_timeout => 3,:compress = > true}) - 我可以通過CACHE.set和CACHE.get設置和獲取數據。 –
是否在配置/ environments/** test.rb **文件中專門設置了'config.cache_store'? –
是的。我在test.rb文件中有兩個緩存選項。 config.action_controller.perform_caching = true config.cache_store =:dalli_store –