2014-09-07 2 views
-1

У меня есть REST API, например: Я уже создаю пользователей REST, для создания конечной точки пользователя перейдите к методу POST «localhost: 3000/users».Как протестировать запрос REST API (rails)

Так картина парам должно быть так:

:user => {:name => "apple", :address => "heaven"} 

Мой вопрос:

Как создать шаблон выше, то я проверить его до конечной точки метод POST?

Я уже проверить с postman клиента, но не потому, что мой рисунок неправильно (мисс root : user)

Благодаря

ответ

0

тест контроллер поймает тип ошибки вы описываете, и является более эффективным, чем сквозной тест. Пример в RSpec:

it 'creates a new user' do 
    post :create, user: {name: 'apple', address: 'heaven'}, format: 'json' 

    assert_response :success 
    expect(response).to render_template(:create) 
    expect(assigns(:user).name).to eq('apple') 
    expect(assigns(:user).address).to eq('heaven') 
end 

Я использовал curl (в коде) для тестирования интерфейсов API из конца в конец. Возможно, будет работать и Faraday gem.

С запросом curl вам необходимо передать параметр -X POST и параметр -d данных. -d может иметь следующие форматы:

-d "user[name]=apple" -d "user[address]=heaven" 
-d {"user": {"name": "apple", "address": "heaven"}} 

Вы также можете передать заголовки с -H.

Итого:

curl http://your_url -X POST -H "Content-type: application/json" -d {"user": {"name": "apple", "address": "heaven"}}

+0

Благодаря Джея за помощь! – Khalid

Смежные вопросы