使用Capybara,可以很容易地确定要找到的节点的确切数量:
page.should have_selector("fieldset.has_many_fields input[type=file]", :count => 2)
这确保了正好有2个这样的字段。但我想检查"至少2"。类似的东西:
page.all("fieldset.has_many_fields input[type=file]").count should be_greater_than 2
这是一个例子,因为它会抛出undefined method 'greater_than?' for 3:Fixnum'
有这样的匹配器吗?或者另一个技巧,允许我检查"至少N个节点"?
答案 0 :(得分:6)
不幸的是,RobertH在2013年1月17日的回答现在是折旧语法。
对于这个精确的场景,您需要这样做:
page.all("fieldset.has_many_fields input[type=file]", :minimum => 2)
答案 1 :(得分:2)
我认为你只是有一个错字。尝试:
expect(page.all("fieldset.has_many_fields input[type=file]").count).to be > 2