1

これは、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 hashclick_link('project')、アプリがredirect_to signinページングすることでした. ただし、コードの実行では、Projectリンク ページからプロジェクトのインデックス ページに移動しました。の後にセッションがempty hashrspec になる理由click_link。rspec コードに問題はありますか?

4

1 に答える 1