Я использую rails 5.0.0.1, новичок в автоматизации тестирования и использовании rspec-rails-3.5.2 для автоматизации записи.Проверка контроллера rspec-rails с утверждениями и присваиваниями
Я хочу проверить некоторые основные функции рендеринга контроллера и назначения переменных экземпляра. Написал тестовый пример контроллера, который будет проверять визуализацию шаблона get_structure и назначить требуемые переменные экземпляра.
describe 'GET #get_structure' do
context 'get attributes to build tree structure' do
let(:plan) { FactoryGirl.create(:plan) }
it 'expects all keys to build structure' do
get :get_structure, params: { id: 6, school_subdomain: 'chrys' }
expect(response).to render_template(:get_structure)
expect(assigns.keys.include?('collection')).to be true
expect(assigns.keys.include?('structure')).to be true
expect(assigns.keys.include?('config')).to be true
end
end
end
После того, как я провел тестовые случаи я не понял, assert_template больше не поддерживается каким-либо причинам безопасности.
NoMethodError: assert_template has been extracted to a gem. To continue using it, add
gem 'rails-controller-testing'
to your Gemfile.
С момента своего упомянутого в RSpec рельсах документации, используя рельсы-контроллер-тестирования камень добавит обратно функциональность, я сделал добавить его.
In Rails 5.x, controller testing has been moved to its own gem which is rails-controller-testing. Using assigns in your controller specs without adding this gem will no longer work.
Я добавил rails-controller-testing-1.0.1 gem. Также в документации по ремонту рельсов-контролеров указано, что
rspec-rails automatically integrates with this gem since version 3.5.0. Adding the gem to your Gemfile is sufficient.
Но даже после добавления он по-прежнему бросает ту же ошибку.
Как решить эту проблему? Есть ли другой способ проведения контрольных тестов. Я уже несколько раз колотил голову над этим. Любая помощь будет оценена по достоинству. Заранее спасибо.
Thanks @Narasima Reddy. Это был быстрый ответ. Я закончил использование спецификаций запросов, и он работает хорошо – Jazmin