我正在尝试通过计算我找到的类的实例来了解如何测试特定视图上的页面元素的数量。我正在运行rails 4.0.0,Ruby 2.0.0和Capybara 2.0.1。
这是我的测试:
it "has 10 successful charges" do
visit '/'
expect(page).to have_css("ul.successful", :count => 10)
end
正在输出:
Failure/Error: expect(page).to have_css("ul.successful", :count => 10)
expected #has_css?("ul.successful", {:count=>10}) to return true, got false
当我运行rspec规范时,我在同一文件中的其他测试正在按预期工作,所以这不是问题。
答案 0 :(得分:0)
你可以试试这个:
page.all("ul.successful").length.should == 10
page.all
返回一个结果数组,您可以使用.length
后缀对其进行计数。如果没有找到10个结果,Rspec会给你一个错误和一个有用的解释。例如:
RSpec::Expectations::ExpectationNotMetError: expected: 10
got: 9 (using ==)