如何在执行 goDog 中剩余的特征文件之前执行特定的特征文件?

How can I execute a specific feature file before the execution of remaining feature files in goDog?

在实施其余测试用例之前,我有一些数据设置。我已将在执行测试用例之前需要执行的所有数据设置分组到一个功能文件中。

如何确保在执行 goDog 框架中的任何其他功能文件之前执行此数据设置功能文件?

据我了解您的问题,您正在寻找一种方法来 运行 在 运行 设置您的 feature/scenario 之前获取一些设置说明。问题是场景和功能在设计上是孤立的。确保在场景 运行ning 之前执行某些操作的方法是定义 Background 部分。据我所知,您不能跨功能应用相同的背景。场景按功能分组,每个功能可以指定在每个场景之前执行的 Background。我只是将您的设置内容复制粘贴到您需要的任何地方:

Background:
  Given I have the base data:
    | User | Status   | other fields |
    | Foo  | Active   | ...          |
    | Bar  | Disabled | ...          |

如果您的设置涉及大量步骤,您可以定义一个扩展为 运行 所有 "background" 步骤的步骤,例如所以:

Scenario: test something
Given my test setup runs

然后像这样实现 my test setup runs

s.Step(`^my test setup runs$`, func() godog.Steps {
    return godog.Steps{
                   "user test data is loaded", 
                   "other things are set up",
                   "additional data is updated",
                   "update existing records",
                   "setup was successful",
            }
})

应该可以。

当然,为了避免必须以 Given my test setup runs 开始每个场景,您可以使用以下内容开始每个功能文件:

Background:
   Given my test setup runs

这将确保在每个场景之前执行设置。结果将是:在每个功能文件的开头增加 2 行,您就可以开始了。