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!"

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

Ответ 1

Вы установили: config.use_transactional_examples = true в false и видите, что это что-то сломало?

Ответ 2

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

Ответ 3

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

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

RSpec.configure do | config |   config.use_transactional_fixtures = false конец

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