Как написать базовую настройку и разборку, которая выполняется перед каждым ActionDispatch::IntegrationTest
У меня есть ряд интеграционных тестов, написанных с использованием ActionDispatch::IntegrationTest
для приложения Rails 4. Я пытаюсь добавить несколько строк к каждому setup
а также teardown
который я хочу вызывать перед каждым запуском теста, не переопределяя setup
а также teardown
обратные вызовы, которые являются специфическими для каждого теста.
В общем, я хочу сделать что-то вроде следующего:
class ActionDispatch::IntegrationTest
setup do
DatabaseCleaner.start
super
end
teardown do
Warden.test_reset!
DatabaseCleaner.clean
super
end
end
Я не хочу, чтобы они перезаписывали более конкретные настройки, а скорее хотел бы, чтобы они запускались раньше. Поэтому я хочу, чтобы эта настройка работала после базовой, написанной выше:
class Authorized < ActionDispatch::IntegrationTest
setup do
@user = create(:user)
sign_in(@user)
end
test 'some stuff' do
# Integration test here
end
end
В настоящее время я получаю сообщение об ошибке:
NoMethodError: super called outside of method
и поэтому мне интересно, каким будет правильный способ сделать это. Любые советы будут высоко ценится! заранее спасибо