Rails rspec/capybara/declarative_authorization を使用しています。多くの異なるユーザーで同じテストを実行する必要があります。
describe "Revision in root folder" do
before do
with_user(@guest) do
visit revisions_path
end
end
it { should have_selector('div.alert.alert-error', text: auth_error_text) }
end
...
describe "Revision in root folder" do
before do
with_user(@user1) do
visit revisions_path
end
end
it { should have_selector('div.alert.alert-error', text: auth_error_text) }
end
唯一のパラメーターはwith_userを呼び出すユーザーです。どうにかして記述ブロックを 1 つだけ使用し、ユーザーの配列を繰り返し処理して、テストを DRY に保つことはできますか? @guest と @user1 はbefore(:all)ブロックで作成されるため、仕様の解析時に使用できないことが重要です。
どんな助けでも大歓迎です。