2

我希望能够在调用运行前一个场景中的步骤的场景之前运行背景。例如,我有一个创建用户并将其称为“创建用户”的场景。我想创建一个名为“重置密码”的新场景,它在其功能定义中使用“创建用户”作为背景。

例如,这是我的功能:

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 并且不重复场景步骤代码?

4

0 回答 0