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

よっしゃ。