私は多言語アプリケーションを持っており、私のコントローラの1つに対していくつかのテストを書こうとしています。しかし、テストでは現在のロケールを変更できないようです。それは開発で大丈夫です。Rails 3のテスト時に現在のロケールを変更できないのはなぜですか?
test "do something has to be done correctly" do
I18n.locale = :cn # set current locale to chinese
assert_equal :cn, I18n.locale
end
このテストでは、エラーで失敗します:
<:cn> expected but was
<:en>.
:en
は私の設定で、デフォルトロケールで次のように私のテストであることを前提としています。
以前にこの問題が発生したのは誰ですか?解決策は見つかりましたか?
default_localeを上書きするとどうなりますか? – apneadiving
あなたのコメントの後、私は 'I18n.default_locale =:cn; assert_equal:cn、I18n.locale;'を試してみて、同じエラーメッセージで失敗します。 –
okと 'I18n.default_locale =:cn; assert_equal:cn、I18n.default_locale;'? – apneadiving