Протестируйте каждый просмотр поиска или отсутствующих переводов span.translation_missing - PullRequest
0 голосов
/ 18 октября 2019

Я занимаюсь разработкой приложения rails и хочу протестировать каждое представление, чтобы узнать, есть ли пропущенный перевод. Я могу сделать это, добавив assert_select "span.translation_missing", false к каждому представлению на контроллере или интеграционных тестах, но я хочу следовать принципу СУХОЙ. Есть ли способ сделать это без необходимости писать код подтверждения для каждого представления в тестах контроллера?

1 Ответ

1 голос
/ 19 октября 2019

На Rails 4.1.0 и выше вы можете использовать config.action_view.raise_on_missing_translations.

# app/config/environments/test.rb
Rails.application.configure do
  # ...
  # Raises error for missing translations
  config.action_view.raise_on_missing_translations = true
end

Это на самом деле не будет автоматически "проверять каждое представление" в вашем приложении, но сообщит, есть ли пропущенныепереводы, как это делает представления. На самом деле вам нужно написать интеграционные тесты, которые в любом случае покрывают каждое представление.

Обратите внимание, что тестирование контроллера не является хорошей идеей для этого. Они не отображают представления, если вы не настроили их явно, и не рекомендуется использовать интеграционные тесты. Системные тесты, в которых вы моделируете путь пользователя через приложение, также будут охватывать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...