RSpec测试失败,具有子域路径

时间:2015-01-27 05:06:08

标签: ruby-on-rails-4 rspec subdomain

我无法为子域名提供RSpec路径。 测试路径应为api.example.com/public/v1/regions/origin?title=indm

但我不知道如何为RSpec提供这样的途径。如何将子域api路径到此相对路径?

let(:api_path) { 'public/v1/regions/origin?title=indm' }

登录

1) Regions Public API GET /v1/regions/origin?title=? returns 200 status code
     Failure/Error: get api_path
     ActionController::RoutingError:
       No route matches [GET] "/public/v1/regions/origin"
     # ./spec/api/public/v1/regions_spec.rb:14:in `block (3 levels) in <top (required)>'

的routes.rb

  namespace :api, path: '', constraints: {subdomain: 'api'} do
    namespace :public, defaults: { format: :json } do
      namespace :v1 do
        resources :regions do
          get :origin, on: :collection
          get :destination, on: :collection
        end
      end
    end
  end

1 个答案:

答案 0 :(得分:0)

我不知道解决此问题的真正好方法,但我使用带有Anvil的pow服务器来做到这一点。 我安装了Anvil并使用域orca.dev运行服务器。在此之后,我重新配置了我的RSpec测试路线。

<强> spec_helper.rb

def get_api_path path, *args
  get "http://api.orca.dev#{path}", *args
end

<强> regions_spec.rb

before do
  get_api_path '/public/v1/regions/origin?title=indm'
end

现在测试正在进行中!