я использую RSpec, чтобы проверить мое приложение у меня есть маршрут с идентификатором, как этоттестирование маршрут с параметром в контроллере
match 'promotevuln/moderate/:id' => 'moderate#promotevuln'
и здесь есть код, который я испытываю с
RSpec.describe ModerateController, :type => :controller do
describe '#promotevuln' do
context 'access controle' do
before :each do
@vuln=NewVulnerability.new(:description=>'description',:description_eng=>'description',:title=>'title',:title_eng=>'title_eng',:short_description=>'short',:short_description_eng=>'short')
end
it 'must be connected' do
get :promotevuln,{:id=>@vuln.id}
expect(response).to redirect_to(:controller => 'account', :action => 'login')
end
но я не смог передать это условие, и он всегда возвращает это сообщение об ошибке
Failure/Error: get :promotevuln,{:id=>@vuln.id}
ActionController::RoutingError:
No route matches {:controller=>"moderate", :action=>"promotevuln"}
Какая ценность '@ vuln.id', прежде чем вы назовете' get'? –
Это int NewVulnerability enherit от ActiveRecord :: Base, так что это идентификатор уязвимости в базе данных – Safouen
Но что это такое ** значение **? ноль? 1? 'Яблоко'? –