2

我有许多使用ActionDispatch::IntegrationTestRails 4 应用程序编写的集成测试。setup我正在尝试在每个测试运行之前向每个和teardown我想要调用的每个添加几行,而不覆盖每个测试特定的setupteardown回调。

所以基本上,我想做类似以下的事情:

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

所以我想知道正确的方法是什么。任何建议将不胜感激!提前致谢

4

0 回答 0