我希望能够在调用运行前一个场景中的步骤的场景之前运行背景。例如,我有一个创建用户并将其称为“创建用户”的场景。我想创建一个名为“重置密码”的新场景,它在其功能定义中使用“创建用户”作为背景。
例如,这是我的功能:
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
但是 Cumcumber 的 JavaScript 实现,他们拒绝实现这一点,我一生都无法弄清楚他们为什么要这样做: https ://github.com/cucumber/cucumber-js/issues/11
如何在整个项目中保持代码 DRY 并且不重复场景步骤代码?