Я хочу убедиться, что все вызовы перевода в моем приложении передают правильные аргументы интерполяции. Однако, когда аргумент не передается, исключение не возникает.
Документация по Rails i18n http://guides.rubyonrails.org/i18n.html
"Если перевод ожидает переменную интерполяции, но она не была передана в #translate, возникает исключение I18n :: MissingInterpolationArgument."
Однако, похоже, что это не тот случай, если не передаются интерполяционные переменные. Например, этот код не вызывает исключение:
require 'i18n'
I18n.backend.store_translations :en, :thanks => 'Thanks %{name}! '
I18n.translate :thanks # <- expect an exception, but it just returns 'Thanks %{name}!'
I18n.translate :thanks, :foo => 'bar' # <- this raises
Кто-нибудь знает способ обнаружения вызовов, в которых отсутствуют ключи перевода во время тестов, кроме анализа "% {"?