Rspec: как подавить предупреждения и уведомления при запуске тестов?

Раньше я использовал базу данных Mysql и решил переключиться на Postgresql, и теперь, когда я запускаю свои тесты с использованием rspec, я получаю много предупреждений и уведомлений.

WARNING:  there is already a transaction in progress
NOTICE:  there is no transaction in progress
      should has link "Suspender"
WARNING:  there is already a transaction in progress
NOTICE:  there is no transaction in progress
      should has css "title" with text "Suspensão de anúncio"
WARNING:  there is already a transaction in progress
NOTICE:  there is no transaction in progress
      should has css "h1" with text "Awesome job!"

Как я могу это подавить? Есть ли способ, верно?


person Kleber S.    schedule 16.06.2012    source источник
comment
Вы вызываете его с флагом --format progress? может быть, в вашем файле .rspec?   -  person Noah Clark    schedule 16.06.2012
comment
Нет, в моем файле .rspec есть только --colour, --drb и --format d.   -  person Kleber S.    schedule 16.06.2012
comment
См.: github.com/rspec/rspec-rails/issues/58 и рассмотрите возможность использования очистителя БД, как это предлагается в проблеме.   -  person Noah Clark    schedule 16.06.2012
comment
Спасибо, но я уже использую database_cleaner gem.   -  person Kleber S.    schedule 16.06.2012
comment
Вы установили: config.use_transactional_examples = true в false и посмотрите, не сломается ли это?   -  person Noah Clark    schedule 16.06.2012
comment
О, настройка config.use_transaction_fixtures = false останавливает предупреждения и уведомления. Спасибо.   -  person Kleber S.    schedule 16.06.2012


Ответы (3)


Вы установили: config.use_transactional_examples = true в false и посмотрите, не сломается ли это?

person Noah Clark    schedule 17.06.2012
comment
где нам нужно поставить эту строку? Я пробовал как в config/environments/test.rb, так и в config/application.rb. Все еще получаю предупреждающие сообщения - person Prem; 13.09.2012
comment
Эй, понял. Обновлено это в файле spec/spec_helper.rb. - person Prem; 13.09.2012
comment
Наконец-то я слишком долго смотрел на эти уродливые сообщения. Спасибо! - person Matt Smith; 07.12.2012

У меня был набор config.use_transactional_fixtures = true. Это было по умолчанию (spec_helper создан с помощью rails g rspec:install). Я использую FactoryGirl вместо фикстур, избавляясь от этой настройки, удаляются предупреждения.

person skalee    schedule 08.08.2012

Отключение транзакций

Если вы предпочитаете управлять данными самостоятельно или использовать другой инструмент, такой как database_cleaner, который сделает это за вас, просто скажите RSpec, чтобы он запретил Rails управлять транзакциями:

RSpec.configure сделать |config| config.use_transactional_fixtures = ложный конец

https://www.relishapp.com/rspec/rspec-rails/docs/transactions

person Pablo Cantero    schedule 25.01.2013