Это широко распространенная (и, на мой взгляд, неверная) философия Cucumber, согласно которой представления должны никогда не проверяться в RSpec.Аргумент гласит, что, поскольку поведение представления может быть описано в Cucumber, RSpec должен придерживаться того, что он знает лучше всего - моделей и контроллеров.
Я утверждаю, что «читабельный» аспект Cucumber делает некоторые аспекты видоискания важными.Например, я нахожу, что спецификации вида работают очень хорошо при параллельной работе с внешним разработчиком.Если разработчик JavaScript знает, что он захочет подключить селектор на вашей странице, важно, чтобы ваше представление предоставило этот селектор.
Например:
describe 'gremlins/show.html.haml' do
context 'given it is after midnight' do
it 'has a #gremlin_warning selector' do
Time.stub!(:now).and_return(Time.parse '2010-12-16 00:01:00')
rendered.should have_selector '#gremlin_warning'
end
end
context 'it is before midnight' do
it 'does not have a #gremlin_warning selector' do
Time.stub!(:now).and_return(Time.parse '2010-12-16 23:59:00')
rendered.should_not have_selector '#gremlin_warning'
end
end
end
Обратите внимание, что спецификации не описывают контент, они являются преднамеренно краткими и не описывают поведение при взаимодействии.Поскольку представление - это часть вашего приложения, которая будет меняться в наибольшей степени, спецификации представления следует использовать с осторожностью.
tl; dr : Просмотр спецификации предназначен для передачи контракта другим разработчикам и должен использоваться экономно (но, тем не менее, следует использовать).