teardownも同じくどっちでも変わらないと思ってた。しかし、前者は上書きだけど後者は親クラスのsetupも呼んでくれるので後者の方が良い。例えば下記みたいにintegrationテストだけは全部js実行できるブラウザでテストしたいけどいちいち書いてられない場合。
# test/test_helper.rb:
class ActionDispatch::IntegrationTest
setup do
Capybara.current_driver = Capybara.javascript_driver
end
end
# test/integration/post_comment_test.rb:
class PostCommentTest < ActionDispatch::IntegrationTest
setup do
sign_in('foo@example.com', 'password')
end
test 'post a comment' do
(...)
end
end
super
が要らないのは気持ちいい。