2016-01-15 4 views
-1

Я пытаюсь написать неудачную спецификацию для передачи недопустимого json при обращении к конечной точке rails api.Как rspec ActionDispatch :: ParamsParser :: ParseError in Rails Api

В полном рельсе api я бы использовал capybara и curl, чтобы сделать фактический запрос.

Как передать недопустимый json через спецификацию запроса rspec?

+0

Bad каким образом? – mylescc

+0

Вы можете выполнить проверку контроллера в rspec. https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs –

+0

@mylescc недействителен. – Calin

ответ

1

я в конечном итоге найти решение этой проблемы, вам нужно использовать запрос спецификации, что-то по этой линии:

require 'rails_helper' 

RSpec.describe 'JSON formatting', :type => :request do 
    context 'with bad json' do 
    it 'returns 400 on bad json' do 
     headers = { 
      'ACCEPT' => 'application/json', 
      'CONTENT_TYPE' => 'application/json' 
     } 
     post '/some/path', "{", headers 

     expect(response.content_type).to eq("application/json") 
    end 
    end 
end