5

使用 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 个节点”的技巧?

4

2 回答 2

8

不幸的是,RobertH 在 2013 年 1 月 17 日给出的答案现在是折旧的语法。

对于这种精确的场景,您需要执行以下操作:

page.all("fieldset.has_many_fields input[type=file]", :minimum => 2)
于 2015-10-23T11:00:09.117 回答
3

我想你只是有一个错字。尝试:

expect(page.all("fieldset.has_many_fields input[type=file]").count).to be > 2
于 2013-01-17T19:11:32.573 回答