Есть ли способ условно сгруппировать тесты с помощью rspec?Под этим я подразумеваю, есть ли способ сказать: «Если эта переменная является некоторым значением, запустите этот набор тестов. Если эта переменная является какой-то другой переменной, запустите этот другой набор тестов»?
Базовый примергде это было бы необходимо (на самом деле не работает, очевидно, но должно показать вам, что я хочу).Предположим, что тестируемый пользователь определен в другом месте, а текущий тестируемый пользователь - @user.Хотя у вас могут быть лучшие альтернативы этому, это нормально.
before do
login_as_user(@user) #This logs them in and brings them to the homepage to be tested
page.visit("/homepage")
end
describe "Check the user homepage"
subject {page}
it {should have_content("Welcome, #{@user.name}!")}
if(@user.role=="admin")
it {should have_link("List Users"}
end
end
Имейте в виду, что я не контролирую тестируемого пользователя - например, я не могу создавать пользователей на лету, и ни один из них негарантированно существует, и я не знаю, какова будет комбинация ролей данного пользователя.Поэтому мне нужен какой-то способ сказать «запускать этот тест, только если эти условия соблюдены», а не способ создавать ситуации, в которых можно выполнить каждый тест.