0
我写发动机:的Rails 4.0引擎和嵌套路由测试使用RSpec 3
module MercatorMpay24
class Admin::PaymentsController < ::Admin::AdminSiteController
def check_confirmation
@payment = Payment.find(params[:id])
end
end
end
和定义的路由:
MercatorMpay24::Engine.routes.draw do
namespace :admin do
get 'payments/:id/check_confirmation' => 'payments#check_confirmation',
:as => 'check_confirmation'
end
end
工作正常并且可以调用,响应,.. 。
现在我想单元测试:
require 'spec_helper'
describe MercatorMpay24::Admin::PaymentsController, :type => :controller do
describe "GET #check_confirmation" do
it "finds the payment" do
@payment = create(:payment)
get :check_confirmation, id: @payment.id
expect(assigns(:payment)).to eql @payment
end
end
end
但给我一个错误:
No route matches {:action=>"check_confirmation",
:controller=>"mercator_mpay24/admin/payments", :id=>"1"}
而rake routes | grep check_confirmation
给我:
admin_check_confirmation GET /admin/payments/:id/check_confirmation(.:format)
mercator_mpay24/admin/payments#check_confirmation
我想,我在这里做一些错误的命名空间,但我不知道,是什么.. ..