水豚检查表列是否有值

brp*_*paz 3 testing bdd ruby-on-rails cucumber capybara

我是Cucumber和Capybara的新手,我有一张桌子,我需要检查特定列是否有某些价值.

我的步骤将是这样的:(在伪代码中)我应该看到有价值的东西:A,B,C

然后我需要查询具有特定id的表,并检查第二列的所有行是否都有一个在步骤中传递的值.

在这个例子中,这应该通过测试

some value | A
some value | B
some value | A
some value | A
some value | C
Run Code Online (Sandbox Code Playgroud)

但是这不会通过:

some value | A
some value | D
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

And*_*lov 13

你可以这样做:

Then /^I should see that all values in second column are either A, B or C$/ do
  all('#table_id tr > td:nth-child(2)').each do |td|
    %w{A B C}.should include td.text
  end
end
Run Code Online (Sandbox Code Playgroud)

参数化代码(我的意思是A,B,C)留给读者练习.