はじめる!Cucumber第5章
Cucumber::Ast::Table の主なメソッド
- rows
- 先頭行を除く各行の内容を配列の配列で返す
- headers
- 先頭行の内容を配列で返す
- raw
- 先頭行を含む各行を両方を配列の配列で返す
- hashes
- 先頭行をヘッダとして、{列名 => データ}というHashの配列を返す
- transpose
- 表の向きを縦横の方向を変換した表を返す。
tablish
cucumber-rails が提供する、HTMLからテーブル形式のデータを配列の配列で取り出すことの出来るメソッド。第一引数で行となる要素をcss形式で指定し、第二引数で、その中の列となる要素を指定する。
Cucumber::Ast::Table#diff!
tablishで取り出した形式と比較できる
相対日付
テストデータに日付を使う場合には一般に、日付またぎによってテストの正否が変わらないように、現在時刻をスタブしたり、逆に実行時からの相対日付を使ったりという対策を取ります。
これまで、Rspecのテストであんまり考えずに実行時からの相対日付を使ってたけど正解だったみたい。
Transform
シナリオ実行前にパラメータ文字列を微修正する場合に使う。定義しておくと、ステップの文字列を自動で変換してくれる。例ではテーブルの文字列を変換するために、一度別の形のステップに直していた。