我为Rails 4应用程序使用ActionDispatch::IntegrationTest
编写了许多集成测试。我试图在每个测试运行之前要调用的每个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
,所以我想知道这样做的正确方法是什么。任何建议将不胜感激!预先感谢