Как подавить / отключить сообщения об отсутствии кэша при запуске тестов rspec в rails 3.1 - PullRequest
9 голосов
/ 04 октября 2011

Я начинаю видеть следующий вывод при выполнении запроса rspec specs:

cache: [GET /login] miss
cache: [GET /javascripts/jquery.min.js?1317513028] miss

Обычно я получаю зеленые точки для прохождения тестов и красные F с некоторой информацией для сообщений об ошибках.

Есть ли способ отключить сообщения о пропусках кэша из вывода?

Ответы [ 3 ]

4 голосов
/ 07 октября 2011

Я думаю, что это не имеет ничего общего с rspec, и что rspec просто распечатывает то, что находится в журнале rails. Я думаю, что сообщение Брайана Уивера в дискуссионной группе Phusion Passenger может ответить на ваш вопрос:

У вас установлен стоечный кеш? Я провел хороший день + прохождение через Passenger / Rails / Rack и множество других драгоценных камней, чтобы выяснить, почему появляются линии, похожие на эту. Добавьте следующее в файл production.rb или development.rb, чтобы избавиться от строки 'cache: ....'

config.action_dispatch.rack_cache = {: metastore => "rails: /",: entitystore => "rails: /",: verbose => false}

Я вытащил эту строку из конфигурации «промежуточного программного обеспечения» Rails и только что изменил «verbose» с true на false.

В вашем случае, я полагаю, вы хотите добавить его в свой файл тестовой среды.

3 голосов
/ 07 октября 2012

В дополнение к @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}
1 голос
/ 01 февраля 2013

Мне не удалось заставить работать любой из вышеперечисленных способов, но добавление этого в мой 'config / initializers / 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...