Rails 4.2.5,rspec-rails 3.0.2
我想测试我的 API。所以我在 /spec 中创建了
requests
目录。有一个文件叫projects_spec.rb
这是代码:
describe 'Projects API' do
describe 'GET /projects' do
it 'should return 401 HTTP code' do
get '/api/v1/projects'
expect(response.status).to eq(401)
end
end
end
当我运行这个测试时,我得到了
NoMethodError: undefined method `get' for #RSpec::ExampleGroups::ProjectsAPI::GETProjects:0x007fee73ad9b48>
怎么了?
# rails_helper.rb
config.infer_spec_type_from_file_location!
describe 'Projects API', type: :request do
# ...
end
此外,请确保您已将
require 'rails_helper'
包含在 projects_spec.rb
中。
2024年答案是:
.rspec
的文件。--format progress
--color
--require rails_helper
第三行是解决这个错误的关键。