聞きたいこと
URLにクエリパラメーターlocal?=en
をつけて、Ruby on Railsアプリケーションの多国籍化をしたのですが、
今までintegrationテストとして、特定画面に存在しているリンクの遷移先が正しいかチェックをしていたテストがすべて失敗するようになりました。
テストコードは下のように、href属性が users_path
のようなaタグの個数を数えているのですが、
多国籍化したことによってlocale?=enがURLに付与されるため失敗するようになってしまいました。
test "layout link" do assert_select "a[href=?]", users_path assert_select "a[href=?]", user_path(@user) assert_select "a[href=?]", edit_user_path(@user) assert_select "a[href=?]", logout_pat end
修正対象のテストが膨大なのと、今後テストを書く上で、local?=en
などのパラメーターを意識してテストを書くのは少し大変だなぁと思い、
なにかうまい方法・効率的な書き方がないか質問させていただきました。
「国際化対応した際のリンクのテストはこう書いてる!」みたいな物がありましたら教えてほしいです。
テクノロジー
- Ruby on Rails(version 5.1)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。