【发布时间】:2017-01-01 15:55:19
【问题描述】:
刚开始学习 RSpec 和 TDD,完全不明白为什么它不起作用。
#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.mydomain.dev 上创建了我的 API,我的文件夹结构看起来像 app/controllers/api/events_controller.rb
因此,当我尝试运行 bundle exec rspec 时,显示
NoMethodError:
undefined method `get' for #<RSpec::ExampleGroups::MessagesAPI:0x007fc34900cee0>
如果我想在 My Spec 文件 #spec/api/event_api_spec.rb 中制作类似 Event.creat!(:name => 'My Event') 的东西,它会说
NameError:
uninitialized constant Event
所以我不明白如何将我的 app/controllers/api/events_controller.rb 文件添加到 Spec 文件中以获取事件类的实例以使其工作。
使用默认控制器可以正常工作,我只对 API 设置感兴趣,谢谢
【问题讨论】:
标签: ruby-on-rails ruby api rspec tdd