水豚检查表列是否有值

时间:2013-02-03 12:14:45

标签: ruby-on-rails testing cucumber capybara bdd

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

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

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

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

some value | A
some value | B
some value | A
some value | A
some value | C

但这不会过去:

some value | A
some value | D

有什么想法吗?

1 个答案:

答案 0 :(得分: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

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