Ruby on rails 在RSpec中检查选择器的多个副本

Ruby on rails 在RSpec中检查选择器的多个副本,ruby-on-rails,ruby,rspec,tdd,Ruby On Rails,Ruby,Rspec,Tdd,我的一个RSpec测试有问题。该测试应该通过检查页面上是否存在多个标记来测试索引页面上是否有多个帖子。我当前的实现如下所示: it "should have more than one post" do get :index response.should have_selector("article", :class => "post", :count => 2) end 出于某种原因,尽管调试输出中显示了标记的多个实例,但此测试失败。它给出的具体错误是 Failures

我的一个RSpec测试有问题。该测试应该通过检查页面上是否存在多个
标记来测试索引页面上是否有多个帖子。我当前的实现如下所示:

it "should have more than one post" do
  get :index
  response.should have_selector("article", :class => "post", :count => 2)
end
出于某种原因,尽管调试输出中显示了
标记的多个实例,但此测试失败。它给出的具体错误是

Failures:

1) PostsController GET 'index' should have more than one posts
   Failure/Error: response.should have_selector("article", :class => "post", :count => 2)
   expected following output to contain a <article class='post'/> tag:
故障:
1) PostsController获取“索引”应具有多个帖子
失败/错误:response.should_选择器(“article”,:class=>“post”,:count=>2)
预期以下输出包含标记:
请注意,如果我删除
:count=>2
选项,测试将顺利通过


有人知道这个测试失败的原因吗?

我猜你是在RSpec或Webrat下使用水豚?使用count选项,您的测试将断言响应正好包含2个POST,而不是至少包含2个POST。最小选项是否符合您的要求


看到了吗?

非常感谢,这就解决了问题!