所以我有一条路线api.gemstore.dev/gems(使用pow) 在浏览器中我得到一个空数组[],这是完美的,数据库中还没有任何东西,所以我应该得到一个空数组
在我的rspec测试中我有
setup do
host! 'api.gemstore.dev'
end
test 'As a user, I want to get gems' do
get '/gems', {}, { 'Accept' => Mime::JSON }
assert_equal 200, response.status
assert_equal Mime::JSON, response.content_type
end
路由
namespace :api, path: '/', constraints: { subdomain: 'api' } do
resources :gems
end
rake routes
Prefix Verb URI Pattern Controller#Action
api_gems GET /gems(.:format) api/gems#index {:subdomain=>"api"}
POST /gems(.:format) api/gems#create {:subdomain=>"api"}
new_api_gem GET /gems/new(.:format) api/gems#new {:subdomain=>"api"}
edit_api_gem GET /gems/:id/edit(.:format) api/gems#edit {:subdomain=>"api"}
api_gem GET /gems/:id(.:format) api/gems#show {:subdomain=>"api"}
PATCH /gems/:id(.:format) api/gems#update {:subdomain=>"api"}
PUT /gems/:id(.:format) api/gems#update {:subdomain=>"api"}
DELETE /gems/:id(.:format) api/gems#destroy {:subdomain=>"api"}
root GET / static#index
但是这回来时没有路由匹配错误
让我知道您是否需要更多信息,乐意提供,只是不确定要提供什么
答案 0 :(得分:1)
可能主机未正确设置。
host! "my.awesome.host"
了解集成规范(继承自ActionDispatch::IntegrationTest
)。请参阅docs部分 5.1可用于集成测试的助手。@request.host = 'my.awesome.host'
用于控制器规范(继承自ActionController::TestCase
)。请参阅docs部分 4.4可用的实例变量。