Если вы визуализируете представления в вашем контроллере, это сделает тестирование вашего контроллера более длительным.Все зависит от того, считаете ли вы, что стоит проверять наличие элементов представления (что делает ваши тесты более хрупкими).Если вы это сделаете, то сделать это в спецификациях контроллера будет проще, поскольку вам не нужно выписывать отдельный файл спецификации представлений.
Если вы хотите много чего протестировать в своих представлениях, тогда выВозможно, вы захотите написать отдельные спецификации вида.Разделение спецификаций вида, вероятно, увеличит общее время выполнения набора тестов.Однако в целях отладки будет ясно, что что-то не так в представлении или в контроллере с выделенными вещами.
Я подозреваю, что большинство программистов на Rails не пишут спецификации представления.Вместо этого они, вероятно, полагаются на свои интеграционные тесты (Capybara +/- Cucumber), чтобы проверить свои взгляды.Однако интеграционные тесты занимают больше времени, чем модульные тесты.Книга RSpec дает следующий аргумент для написания отдельных спецификаций вида:
Спецификации вида предоставляют нам возможность находить нужные нам API-интерфейсы из контроллеров и моделей.Это не так ценно, когда API-интерфейсы соответствуют большинству стандартных соглашений.Однако ценность возрастает, когда мы от них отклоняемся ....
Единственный способ по-настоящему ощутить их преимущества [просмотреть тесты] - научиться хорошо их писать.И только когда вы действительно поймете, как они вписываются в поток, вы сможете принимать обоснованные решения о том, когда и когда их использовать.