2017-04-03 41 views
0

我更新導軌5.0.1,並得到了失敗規範更新到軌道5規格後失敗的ActionController ::參數

該規範是

describe "POST create", :vcr do 
    let(:subscription) { mock_model(Subscription).as_null_object } 
    before do 
     allow(Subscription).to receive(:new).and_return(subscription) 
    end 

    it "creates a new Subscription" do 
     expect(Subscription).to receive(:new). 
     with("card_expiration" => "a quick brown fox"). 
     and_return(subscription) 
     post :create, params: { :subscription => { "card_expiration" => "a quick brown fox" }} 
    end 
end 

它失敗

Diff: 
     @@ -1,2 +1,2 @@ 
     -[{"card_expiration"=>"a quick brown fox"}] 
     +[<ActionController::Parameters {"card_expiration"=>"a quick brown fox"} permitted: true>] 

如何獲取ActionController :: Parameters到期望值?

+0

根據測試的標題,也許你可以只是測試,看看參數去通過。如果您可以驗證預訂是否已完成,則可以確保參數正確無誤。 –

回答

0

你必須改變期望,期望實際的ActionController ::參數對象,像這樣:

parameters = ActionController::Parameters.new(
     "card_expiration" => "a quick brown fox").permit! 

expect(Subscription).to receive(:new). 
     with(parameters). 
     and_return(subscription)