web-dev-qa-db-ja.com

キュウリシナリオのクリーンアップ手順

Cucumberの機能のすべてのシナリオのクリーンアップ手順を定義する方法はありますか? Backgroundは、それに続く各シナリオのセットアップ手順を定義するために使用されることを知っていますが、各シナリオの最後に発生するようなものを定義する方法はありますか?

15
TheDude

各シナリオの後に実行されるAfter hook を使用できます。

After do
  ## teardown code
end

シナリオの前に状態やテストデータを設定できるBeforeフックもあります。

Before do
  ## setup code
end

BeforeフックとAfterフックは、Test::Unitsetupteardownの機能を提供し、通常はhooks.rbディレクトリのfeatures/supportにあります。

11
orde

'Before'と 'After'はグローバルフックであることに注意する必要があります。つまり、これらのフックは機能ファイル内のすべてのシナリオで実行されます。

セットアップとティアダウンを(タグでグループ化された)いくつかのテストケースに対して実行する場合は、tagedHooksを使用する必要があります。構文は次のとおりです。

Before('@cucumis, @sativus') do
# This will only run before scenarios tagged
# with @cucumis OR @sativus.
end


AfterStep('@cucumis', '@sativus') do
# This will only run after steps within scenarios tagged
# with @cucumis AND @sativus.
end

詳細情報: https://github.com/cucumber/cucumber/wiki/Hooks

13
prabhu