2017-01-20 7 views
0

連絡先ページを追加する練習を完了しましたが、ページタイトルでテストが失敗します。Hartl Railsチュートリアル - 第3章

<% provide(:title, "Contact") %> 
<h1>Contact</h1> 
<p> 
    Contact the Ruby on Rails Tutorial about the sample app at the 
    <a href="http://www.railstutorial.org/contact">contact page</a>. 
</p> 

私はまた次のように完了しました:

  • を追加しました。ここ
    require 'test_helper' 
    
    class StaticPagesControllerTest < ActionDispatch::IntegrationTest 
    
        def setup 
        @base_title = "Ruby on Rails Tutorial Sample App" 
        end 
    
        test "should get root" do 
        get root_url 
        assert_response :success 
        end 
    
        test "should get home" do 
        get static_pages_home_url 
        assert_response :success 
        assert_select "title", "Home | #{@base_title}" 
        end 
    
        test "should get help" do 
        get static_pages_help_url 
        assert_response :success 
        assert_select "title", "Help | #{@base_title}" 
        end 
    
        test "should get about" do 
        get static_pages_about_url 
        assert_response :success 
        assert_select "title", "About | #{@base_title}" 
        end 
    
        test "should get contact" do 
        get static_pages_about_url 
        assert_response :success 
        assert_select "title", "Contact | #{@base_title}" 
        end 
    end 
    

    がcontact.html.erbファイルである:ここで

    は私のテストファイルです適切なルート
  • 適切なアクションを追加しました
  • 012私は、このエラーメッセージが表示されますただし

test_should_get_contact#StaticPagesControllerTest (0.45s) 
    <Contact | Ruby on Rails Tutorial Sample App> expected but was 
    <About | Ruby on Rails Tutorial Sample App>.. 
Expected 0 to be >= 1. 
     test/controllers/static_pages_controller_test.rb:35:in `block in <class:StaticPagesControllerTest>' 

も予想されるページのタイトルと正しく

  • ページが表示され、(連絡先がないについて)
  • は、私は再びテストしていることに注意してください完全に新しいページを使用していましたが、ページタイトルに「情報」が返されたのと同じ結果が得られました

私がチュートリアルを厳密に守ってきたので、なぜこれが返されているのかは分かりません。私はチュートリアルで進歩したいと思っていますが、この基本的なテストの問題を解決できない場合は、私は非常に遠くに行くことは確実ではありません!私はあなたと(test "should get contact" do下)ラインget static_pages_about_urlを交換しようとするかもしれないと思う

答えて

0

このコードブロックの2行目のコードを確認してください。

test "should get contact" do 
    # get static_pages_about_url # This is wrong correct it to as below 
    get static_pages_contact_url 
    assert_response :success 
    assert_select "title", "Contact | #{@base_title}" 
    end 

about urlの連絡先ページのタイトルを確認するテストケースがありますが、これは明らかにテストに失敗します。

上記の連絡先URLの連絡先ページタイトルをテストする必要があります。

変更を加えてください。

また、動機づけの言葉は、物事が今すぐ後で起こる意味がない場合でも続ける。乾杯!

+0

ありがとう!私はこのコードを、時間のようなものを見つめて驚いた。それはとても簡単なことだった! –

0

:何が起こる

get static_pages_contact_url 

は、あなたのテストをしたときにエラーを起こし、(代わりにcontactabout、)間違ったURLを呼び出していることです<title>を確認してください。

+0

ありがとう!私は何かにそれ以上の時間を費やすことは簡単ではないでしょう。 –

関連する問題