我開始看到下面的輸出運行要求rspec的規格時,抑制/禁用「緩存未命中」的消息:如何運行rspec的測試時,在軌3.1
cache: [GET /login] miss
cache: [GET /javascripts/jquery.min.js?1317513028] miss
Normaly我會獲得通過的綠點測試和紅色的Fs與一些信息的錯誤消息。
有沒有辦法從輸出中禁用緩存未命中消息?
我開始看到下面的輸出運行要求rspec的規格時,抑制/禁用「緩存未命中」的消息:如何運行rspec的測試時,在軌3.1
cache: [GET /login] miss
cache: [GET /javascripts/jquery.min.js?1317513028] miss
Normaly我會獲得通過的綠點測試和紅色的Fs與一些信息的錯誤消息。
有沒有辦法從輸出中禁用緩存未命中消息?
我認爲這與rspec無關,rspec只是打印出軌道日誌中的內容。我覺得這post by Brian Weaver上的Phusion客運討論組可能會回答你的問題:
你已經安裝的機架緩存?我花了一天的時間+通過Passenger/Rails/Rack和其他許多寶石追蹤,找出爲什麼會出現類似的線條。 將以下內容添加到您的production.rb或development.rb文件中以擺脫「cache:....」行
config.action_dispatch.rack_cache = {:metastore =>「rails:/」,: entitystore =>「rails:/」,:verbose => false}
我從Rails的「中間件」配置中拉出了一行,將'verbose'從true更改爲false。
在你的情況,我想你想添加它你的測試環境文件。
除了@RyanTM之外,您還需要爲測試環境開啓緩存,以便DragonFly不會配置自己的Rack :: Cache(with:verbose => true),而是使用Rails設置。
# set Rack::Cache verbose to false to prevent logging to rspec output
config.action_controller.perform_caching = true
config.action_dispatch.rack_cache = {:metastore => "rails:/", :entitystore => "rails:/", :verbose => false}
我無法讓上述任何變通辦法爲我工作,但加入這個我「配置/初始化/ dragonfly.rb」工作:
if Rails.env.test?
Rails.application.middleware.delete Rack::Cache
Rails.application.middleware.insert 0, Rack::Cache, {
:verbose => false,
:metastore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/meta"), # URI encoded in case of spaces
:entitystore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/body")
}
end
不知怎的,這沒」 t爲我工作: -/ – Papipo
不幸的是,這並沒有爲我工作:(不知道是否有其他方法? –
你使用蜻蜓寶石? –