【问题标题】:Rspec newbie: Quick example of nested controller test?Rspec 新手:嵌套控制器测试的快速示例?
【发布时间】:2011-01-13 15:08:41
【问题描述】:

我刚刚开始使用 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 下的“评论”模型正确地存根类似的测试,但没有任何乐趣。任何建议表示赞赏。

【问题讨论】:

    标签: ruby-on-rails mocking rspec stub


    【解决方案1】:

    您需要将两个 id 都传递给您的 put 方法

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多