1

tableviewcell の行番号を指定するために同じ整数を使用する約 20 のシナリオがあります。製品に最近変更があり、その行番号を変更するだけで 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

ありがとう

4

2 に答える 2

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
于 2013-08-02T16:50:00.887 に答える
2

いくつかの回避策がありますが、すべてがあなたのケースに適しているわけではありません

  1. 1 つの行のすべてのテスト ケースを 1 つの大きなテスト ケースにグループ化してから呼び出すことができます。

    When I test row 23

  2. 行番号を変数に保存するステップを持つことができます

    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

  3. テーブルを使用する

    When I test the following rows with data:
      | 23 | something | something else |
      | 26 | something | something else | 
      | 28 | something | something else |  

于 2013-08-13T09:39:20.713 に答える