RSpecで一時的に言語設定を変える

i18nの機能に以下のメソッドが定義されてることを知った。

# Executes block with given I18n.locale set.
def with_locale(tmp_locale = nil)
if tmp_locale
current_locale
= self.locale
self.locale = tmp_locale
end
yield
ensure
self.locale = current_locale if tmp_locale
end

なのでこんなふうにかけた。

it '意図した英語の値が返る' do
I18n.with_locale(:en) do
expect(object.start_string).to eq("Early 10/2018")
end
end

よっしゃ。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください