5

私は、既存のキュウリ機能の非常に多くのセットを使用して作業しており、追加のテストを追加しています。これらの新しいテストでは、変換を使用して反復的なタスクを簡素化しようとしています。

既存のテストを壊さずに変換を追加するにはどうすればよいですか?キャプチャグループにコンテキストを追加しましたが、コンテキストは既存のテストと同じビジネスドメインからのものであるため、簡単に一致する可能性があります。

特定のステップにのみ変換を適用する方法はありますか?

4

1 に答える 1

2

タグとBeforeフィルターを使用して、ワールドにインスタンス変数を設定できます。これは、タグ固有の変換を実行できるように、変換で使用できます。たとえば、@hookタグが存在する場合にのみ整数を変換する場合は次のようになります。

Transform /(\d+)/ do |num|
  if @hook
    num.to_i
  else
    num
  end
end

Before('@hook') do
  @hook = true
end

シナリオごとに新しいワールドが作成され、Beforeフィルターが呼び出されます。したがって、@hookはシナリオごとにリセットされます。

于 2012-04-30T12:51:11.290 に答える