Тестовый рендеринг шаблона Rails - PullRequest
0 голосов
/ 19 января 2012

Неправильное использование метода .t в шаблоне Rails, например

<%= (user.score).t(:context => 'foo') %>

Вызывает ошибку

   undefined method `t' for 46:Fixnum

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

Ответы [ 2 ]

1 голос
/ 19 января 2012

Это зависит от вашего выбора среды тестирования.С помощью Test :: Unit, который поставляется с rails, ваш контроллер и интеграционные тесты визуализируют представления и поэтому должны отлавливать такого рода ошибки.Другие формы интеграционного тестирования, такие как огурец, также должны подхватывать такие вещи.

Если вы используете rspec, то вы можете написать спецификации вида: спецификации, которые тестируют рендеринг вида отдельно.Если у вас много логики в ваших представлениях, которые вы хотите протестировать, вам, вероятно, лучше извлечь эту логику в помощник и написать модульные тесты / спецификации для этого помощника.

0 голосов
/ 19 января 2012

AFAIK вы сами не тестируете шаблоны. Но вы можете проверить, например, огурец , если вы получите ожидаемые результаты просмотра. Это может быть своего рода «тестирование шаблона».

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