Я настраиваю некоторые интеграционные тесты, используя capybara и rspec.
В одном тесте это работает:
describe "SIGN IN, POST post" do
it "redirects to /posts after creating a new post" do
visit new_artist_session_path
fill_in 'Email', :with => 'vargas@vargas.com'
fill_in 'Password', :with => 'password'
click_link_or_button 'artist_submit'
visit "/artists/vargas/posts"
page.should have_content("Upload")
click_button 'Upload'
URI.parse(current_url).path.should == "/artists/vargas/posts"
end
end
Однако я хочу переместить часть "sign_in" в блок фильтра before (: all), чтобы я мог СУШИТЬ свои тесты. Однако, похоже, что в блоке before (: all) этот код выдает эту ошибку:
Failure/Error: visit new_artist_session_path
NameError:
undefined local variable or method `new_artist_session_path' for #<RSpec::Core::ExampleGroup::Nested_1:0x0000010399e388>
Похоже, что помощники по URL-адресам маршрутов недоступны из блока before? Как мне исправить это?