我刚刚开始使用 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
一段时间以来,我一直在尝试为嵌套在 Post 下的“评论”模型正确地存根类似的测试,但没有任何乐趣。任何建议表示赞赏。