1

統合テストでは、ページのコンテンツをチェックして、ユーザーが自分の欲しいものを確認できるようにします。

例えば:

it "shows list of articles" do
    get :articles
    response.body.should have_content("Articles found:")
end

記事ビューのどこかに、次の行があります。

<h1>Articles found:</h1>

文字列の重複を取り除き、コードの保守を容易にし、テストをより確実にしたいと考えています。私はそれらの文字列をconfig/locales / en.ymlに入れて、次のようなことをすることを検討しています

it "shows list of articles" do
    get :articles
    response.body.should have_content(I18n.t('title'))
end

とビューで:

<h1><%=t :title %></h1>

それは長期的な観点から意味がありますか、それともより良い/標準化された方法がありますか?

4

1 に答える 1

1

私はそうは思いませんが、国際化された文字列は人間が読むことを目的としています。

別の方法として、selectによってアサートをより決定論的にする方法でドキュメントを構造化できるかどうかを確認してください。

it "shows list of articles" do
    get :articles
    assert_select "h1.articles-title"
end

そして、ビューで。

<h1 class="articles-title"><%=t :title %></h1>

あなたの元のテストケースが正しいタイトルの存在を主張していることは理解していますが、このような一般的な統合テストの最大の利点はタイトルの存在であると主張します

于 2012-12-04T16:06:30.230 に答える