2011-01-13 134 views
7

我剛剛開始使用RSpec,併爲嵌套資源編寫控制器測試時遇到了一些困難。我試過用google搜索這個,但沒有多少運氣。Rspec新手:嵌套控制器測試的快速示例?

有人可以提供一個「PUT更新」測試測試的基本示例,以確保嵌套資源更新嗎?只是爲了闡述,我有這樣的測試,相當於(非嵌套)資源:

def mock_post(stubs={}) 
    @mock_post ||= mock_model(Post, stubs).as_null_object 
    end 
    ... 

    describe "PUT update" do 
     describe "with valid parameters" do 
     it "updates the requested post" do 
      Post.stub(:find).with("14") { mock_post } 
      mock_post.should_receive(:update_attributes).with({'these' => 'params'}) 
      put :update, :id => "14", :post => {'these' => 'params'} 
     end 
     end 
    end 

我一直在嘗試了一段時間,以正確的存根類似的測試被張貼在嵌套在「評論」模式,但沒有快樂。任何建議感激。

回答

12

你需要有兩個編號的傳遞給你的put方法

put :update, :id => "14", :post_id=> "1", :comment => {'these' => 'params'}