Вам нужно явно указать спецификации вашего контроллера, что вы хотите, чтобы он отображал представления, чтобы это работало.Обновите свою спецификацию, чтобы она выглядела следующим образом:
require 'spec_helper'
describe PostsController do
render_views # Render this controller's views during spec execution.
before do
@post = Fabricate :post
end
# ...
end
Это описано в readme rspec.Для более подробного просмотра см. Функцию rspec-rails 'cucumber для' render_views '.
Только одно предостережение об этом.Есть причины, почему это не поведение по умолчанию:
- Возможно, вы смешиваете две проблемы, тестируя представления одновременно с контроллерами.Райан Бигг (см. Комментарии) предполагает, что ваши тесты могут лучше рассматриваться как интеграционные тесты, которые обычно живут в
spec/integration
, а не spec/controller
. - Визуализация представлений может замедлитьвыполнение ваших тестов значительно.
... Не говорю, что вы не должны этого делать, просто говорю, что вам должно быть ясно , почему вы .
Надеждаэто помогает.