Я использую наблюдателей в своем приложении Rails для уведомлений, каналов активности и т. Д. Они сохраняют мои модели и контроллеры чистыми, отлично работают на стороне приложения, интеграционный тест (я сам тестировал их интенсивно/успешно). Но я не могу за жизнь меня заставить их работать в интеграционных тестах. Я не следующий в спецификации/поддержки/observers.rb (в качестве проверки вменяемости я бы в идеале только включить их для удобства испытаний, если я могу заставить их работать на всех.):Наблюдатели Rails не стреляют при запуске тестов интеграции Capybara
RSpec.configure do |config|
config.before do
ActiveRecord::Base.observers.enable :all
end
end
Независимо от того, что я do, я не могу заставить своих наблюдателей уйти во время моих интеграционных тестов (именно это я действительно хочу использовать, чтобы гарантировать, что все действительно работает).
У кого-нибудь есть представление об этом или есть какие-либо подсказки относительно того, почему я мог испытывать это? Я использую Rails 5.0.0beta3 и последние версии рельсовых наблюдателей, rspec-rails и capybara (из главных ветвей github).
если вы используете мастер ветвь рельсов-наблюдатель - какой тип наблюдателей у вас есть? Если вы используете транзакционные светильники - ничего не запускается после того, как фиксация будет срабатывать. –
Хм. Я просто объявляю их как: класс ModelObserver
gregblass
, но являются ли они before_save, after_update и т. Д.? Также вы зарегистрировали их в своих конфигурациях приложений config.active_record.observers =: model_observer' –