2011-07-02 50 views
0

我想這可能是這樣的:RSpec控制器測試:如何檢查@ organization.destroy是否被調用?

let(:organization) { mock_model(Organization).as_null_object } 

before(:each) do 
    Organization.stub(:find).and_return(organization) 
end 

it "calls the destroy action on @organization" do 
    assigns[:organization].should_receive("destroy") 
    post :destroy, :id => organization.id 
end 

..但我得到一個「不能修改凍結的對象」錯誤。

回答

0

這是我會怎麼寫規格:

describe 'Oragnization#destroy' do 
    let(:organization) { mock_model(Organization, :id => 1, :destroy => true) } 

    subject { post :destroy, :id => organization.id } 

    it { should be_successful } 
end 
+1

但什麼是剩餘的測試,如果他消除了期待? – apneadiving

+0

是的 - 我不明白這是如何明確測試銷燬行動被稱爲...或者這只是常見的方式嗎? – dmonopoly

+0

我剛更新了我的答案 – solnic