: O. Yuanying

Rails で翻訳に失敗したらテストが失敗するようにしてみた

View のテスト中に、翻訳テキストが存在しなかったらテストに失敗するといいなあと思った。

通常は翻訳に失敗してもレンダリングされる html 中に「翻訳に失敗したよ!」というメッセージが出るだけなので、

  1. テストが失敗しないので翻訳できてるのかできてないのかチェックできない。
  2. 翻訳漏れが発生!

とかなってしまう。

というわけで、以下を spec_helper に追加。

I18n.exception_handler = lambda do |exception, locale, key, options|
  raise exception.message
end

まあ、ちょっと問題がある訳でもないが、 どちらかというと rspec-rails のバグのような気がしないでもないので気にしない。