我有大约20个场景使用相同的整数来指定tableviewcell的行号。最近对产品进行了更改,我不得不通过更改行号来更改所有20个方案。目前我不想针对该行制定一个步骤,因为我有大约30个不同的行要处理:
我宁愿这样做:
Given /^I am on the page labeled "([^"]+)" on row number (\d*)$/ do |page_name, row_number|
steps %Q{
When I scroll down #{row_number} rows in table "LeftMenu"
And I touch the TableViewCell marked "#{page_name}"
}
end
而不是:
Then /^I select specificName$/ do
scroll_down(24)
end
我可以在黄瓜中使用常量吗?像这样:
const ROW_NUM 24
Then I select "tableViewCellName" at row number ROW_NUM
由于
答案 0 :(得分:2)
您不能将常量直接传递给步骤定义。但是,如果传递的值与常量匹配,则可以检查步骤定义。
例如,通过以下步骤:
ROW_NUM = 24
Then /I select "tableViewCellName" at row number (.+)/ do |row|
row = (Kernel.const_get row rescue row.to_i)
p row
end
您可以使用ROW_NUM“常量”调用它:
Then I select "tableViewCellName" at row number ROW_NUM
#=> 24
或使用特定的行号:
Then I select "tableViewCellName" at row number 1
#=> 1
答案 1 :(得分:2)
有几种解决方法,并非所有这些都适合您的情况
您可以将一行的所有测试用例分组到一个大的测试用例中,然后调用
When I test row 23
您可以使用一个步骤将行号保存到变量中
When I prepare to test row 23
And then I do something with the row I am testing
Then something is displayed in the row I am testing
使用表格
When I test the following rows with data:
| 23 | something | something else |
| 26 | something | something else |
| 28 | something | something else |