これは、spec/features/ の下にある統合テスト ケースです。rspec の目的は、最初にログインしてからユーザー メニュー ページを開き、使用メニュー ページのリンクをテストすることです。Rails 3.2.12 アプリです。rspec コードは次のとおりです。
describe "CheckLinks" do
describe "GET /check_links" do
before(:each) do
...data...
visit '/'
save_and_open_page
fill_in "login", :with => @u.login
fill_in "password", :with => 'password'
click_button 'Login'
#save_and_open_page
end
it "works" do
visit user_menus_path
save_and_open_page
click_link('Project')
save_and_open_page
page.body.should have_content('Project#') #('Project Number')
end
end
end
rspec エラーは単純です。
1) CheckLinks GET /check_links works
←[31mFailure/Error:←[0m ←[31mpage.body.should have_content('Project#') #('Project Number')←[0m
←[31mexpected to find text "Project#" in "Login Page"←[0m
←[36m # ./spec/features/check_links_spec.rb:116:in `block (3 levels) in <top (required)>'←[0m
私たちが見つけたのは、セッションが終わったempty hash
後click_link('project')
、アプリがredirect_to signin
ページングすることでした. ただし、コードの実行では、Project
リンク ページからプロジェクトのインデックス ページに移動しました。の後にセッションがempty hash
rspec になる理由click_link
。rspec コードに問題はありますか?