2016-08-25 4 views
0

только начинает изучать RSpec и TDD и не может понять, почему это вообще не работает.Ошибки RSpec при тестировании API

#spec/api/event_api_spec.rb 
 
describe 'Messages API' do 
 
    it 'check response' do 
 
    get 'api.mydomain.dev/events' 
 
    json = JSON.parse(response.body) 
 
    # test for the 200 status-code 
 
    expect(response).to be_success 
 
    end 
 
end

У меня есть создать свой API на api.mydomain.dev и моя структура папок выглядит как приложение/контроллеры/API/events_controller.rb

Так что, когда я попытался запустить пакет Exec RSpec это показано, что

NoMethodError: 
    undefined method `get' for #<RSpec::ExampleGroups::MessagesAPI:0x007fc34900cee0> 

если я пытаюсь сделать что-л как Event.creat! (: имя => 'My Event') в My Spec файл # спецификации/апи/event_api_spec.rb он говорит

NameError: uninitialized constant Event

Так я не понимаю, как требуется мое приложение/контроллеры/API/events_controller.rb файла в Spec файл, чтобы получить экземпляр моего класса Event, чтобы получить его работы ,

С контроллерами по умолчанию это отлично работает, я только интересно в настройках API, ТНХ

ответ

0

«получить» является метод, доступный на контроллер спецификации, попробовать что-то вроде

describe 'Messages API', type: :controller do 

сказать RSpec вы тестирования что-то вроде регулятора, или может быть просто делать

describe EventsController do 

О «неинициализированного постоянной Event», попробуйте с этим в begning из спецификации/API/event_api_sp ec.rb

require 'rails_helper' 

Надеется, что это помогает, но ваш посту немного сбивает с толком, не ясно, если ваш апи онлайн или что вы не должны испытывать Agains онлайн апите, вы должны проверить на месте, данные должны никогда не общайтесь с реальным миром, если это действительно действительно необходимо.