Я пытаюсь сделать следующее в rspec (знайте, что у меня не должно быть жестко закодированного значения) в интеграционном тесте:
get '/api/get-other-items?id=5109'
Самое близкое, что я мог найти, было: вызовконкретный URL с rspec , но он выбирает только один элемент.Я пробовал следующее:
get :controller => 'api', :action => 'get-other-items', :id => '5109'
get 'api/get-other-items', :id => '5109'
Это дает мне bad argument(expected URI object or URI string)
Если я бегу как
get get_other_items, :id => '5109' q
Я получаю
undefined local variable or method `get_other_items' for #<RSpec::Core::ExampleGroup::Nested_1:0x007f938fd65590>
но маршрут существует:
Mon Jan 23$ rake routes | grep get_other_items
get_other_items /api/get-other-items(.:format) {:controller=>"api", :action=>"get_other_items"}
Как бы я выполнил это простое получение?
thx
обновление для ответа 1 комментарий вот код rspec, о котором идет речь:
it "testing getting other items for menu item" do
get get_other_items_path(:id => '5109')
JSON.parse(response.body)
puts response.body
понедельник, 23 января $ rspec request / get_other_items_spec.rb
F
Failures:
1) GetOtherItems testing getting other items for menu item
Failure/Error: JSON.parse(response.body)
JSON::ParserError:
743: unexpected token at 'this is not found '
# ./requests/get_other_items_spec.rb:19:in `block (2 levels) in <top (required)>'
Finished in 13.57 seconds
1 example, 1 failure
Failed examples: