2021-06-30 Rails i18n localization / RSpec metadata
Rails i18n localization
translate
, localize
の2つのメソッドを使う。それぞれ文言の変換と時刻の表示変換を担う。
translate # Lookup text translations
localize # Localize Date and Time objects to local formats
これらは下記のエイリアスがある。
I18n.t 'store.title'
I18n.l Time.now
RSpec metadata
metadata
をテストケースで宣言してそれによって処理内容を書き換える、みたいなパターンの実装。
# 特定条件下で skip したい前提処理 (before)
before do |example|
next if example.metadata[:skip_before]
# skip_before の値が正だと skip される処理
@post = FactoryBot.create :post
end
it 'Test 1', :skip_before do
expect(@post).to be_nil # before は skip されたので nil
expect(user).to be_present
end
特定条件下で xxx の処理は skip したい!ってときに便利なパターン。