Как написать базовую настройку и разборку, которая выполняется перед каждым ActionDispatch :: IntegrationTest - PullRequest
0 голосов
/ 19 октября 2018

У меня есть несколько интеграционных тестов, написанных с использованием 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

, и поэтому мне интересно, какой правильный путьсделать это было бы.Любые советы будут высоко ценится!Заранее спасибо

...