私はRspec内でCapybaraを使ってレールアプリケーションの統合テストを書いています。フォームに記入したら、ユーザはsubmitを押します。私がテストを実行する場合CapybaraとRails、なぜhave have_contentを使って仕様になっているのですか?私はあなたにリダイレクトされていますか?
私が取得:そこに期待
がで「コースビルダーへようこそ」コンテンツであることを、「あなたは リダイレクトされます。」私は結果ページのコンテンツをテストしようとしています
は、ここではテストです:中
describe PagesController do
describe "Quiz testing in chapter" do
def page_view
Capybara::Node::Simple.new(@response.body)
end
render_views
login_student
it "should fail if user chosen wrong answer" do
page= create_quiz_page_with_two_choices_first_correct
post :answer_quiz, :page_id=>page.id, :submitted_single_answer=>'2'
page_view.should have_content("Welcome to course builder")
end
end
end
PagesController
def answer_quiz
...
respond_to do |format|
format.html { redirect_to page }
format.json { head :ok }
end
end
私はちょうどカピバラを使い始めたので、私は何かを明らかに不足していますここに?なぜ私はリダイレクト応答にこだわりましたか?
ありがとうございます!
before(:each) do
login_student
end
しかしでも、おそらく問題を解決しないこと:
hopewise
私はこのような簡単なチュートリアルを読むべきだと思います:http://codingfrontier.com/integration-testing-setup-with-rspec-and-capy first。 – socjopata