前のシナリオのステップを実行するシナリオを呼び出す前に、バックグラウンドを実行できるようにしたいと考えています。たとえば、ユーザーを作成し、それを「ユーザーの作成」と呼ぶシナリオがあります。機能定義の背景として「ユーザーの作成」を使用する「パスワードのリセット」という新しいシナリオを作成したいと考えています。
たとえば、ここに私の機能があります:
Feature: Reset a password
As a user I want to be able to reset my password
Background:
Given I create an account
Scenario: I reset my password
Given I am a new user
したがって、上から「アカウントを作成します」を呼び出して、以下を実行できるようにしたいと考えています。
Feature: Account creation
As a user I want to be able to create an account
Scenario: I create an account
Given I am at my browser
And I click Sign up
And ...
Ruby バージョン Cucumber では、動作するステップ内からステップを呼び出す機能があります: https://github.com/cucumber/cucumber/wiki/Calling-Steps-from-Step-Definitions
しかし、Cucumber の JavaScript 実装では、彼らはこれを実装することを拒否しており、なぜ彼らがこれを実行したいのか、私の人生では理解できません: https://github.com/cucumber/cucumber-js/issues/11
プロジェクト全体でコードを DRY に保ち、シナリオ ステップ コードを複製しないようにするにはどうすればよいですか?