2017-10-28 8 views
0

この練習では、full_titleヘルパー用のテストが作成され、1つはコードを埋めなければなりません。ここにテストがありますRuby on Railsチュートリアル、5.3.4演習、assert_equalメソッドの使用方法

require 'test_helper' 

class ApplicationHelperTest < ActionView::TestCase 
    test "full title helper" do 
    assert_equal full_title,   FILL_IN 
    assert_equal full_title("Help"), FILL_IN 
    end 
end 

ここでassert_equalメソッドはどのように機能しますか?私は期待しているものと実際のものを入れなければならないものは混乱しています。

答えて

0

expectedは値が正しい動作を表し、実際に返されるのはactualです。 full_titleがテストしているものなら、それはactualパラメータでなければならず、そのメソッドの出力はexpectedパラメータでなければなりません。

0

あなたはこのフォーマットを使用して主張してテストしたい:

assert_equal(expected, actual, [msg]) 

ですから、この場合は期待値「full_titleは」実際の値を等しくすることをテストします。最後の部分[msg]は、テストが失敗した場合のフィードバックを明確にするために含めることができるオプションのメッセージパラメータです。 FILL_INの部分は、実際の値を挿入する場所です。 full_title"Welcome To My Site"の価値を持っているのであれば、あなたは次のように主張を書き込むことによって、その値をテストします:

assert_equal full_title, "Welcome To My Site" 

full_title("Help")の値は"Welcome To My Site | Help" あるべきならば、あなたはそのようにそれをテストします:

assert_equal full_title, "Welcome To My Site | Help" 

、あなたのエラーメッセージが少し明確にするために、オプションのメッセージパラメータを含めることができる場合:

assert_equal full_title, "Welcome To My Site | Help", "This was not the correct title" 

テストに失敗した場合は、そのメッセージがログの一部として表示されます。

アサーションを使用する方法の詳細については、レールガイドを参照してください。http://guides.rubyonrails.org/testing.html

関連する問題