我正在使用 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的用户。我能否以某种方式只使用一个描述块,并遍历一组用户,以保持我的测试 DRY。重要的是,@guest 和 @user1 是在before(:all)块中创建的,因此在解析规范时它们不可用。
任何帮助表示赞赏。