【问题标题】:How to write features on cucumber tests without duplicating scenarios?如何在不重复场景的情况下在黄瓜测试中编写功能?
【发布时间】:2020-03-04 09:28:16
【问题描述】:

我正在使用 cucumber (https://cucumber.io) 进行 bdd 测试,并希望使用两个 rest 服务测试一个功能。

如何编写这个包含 x 个场景的功能文件,而不为每个休息服务的功能文件复制每个场景?

通常,我的功能文件以背景(即要使用的休息服务)开头,然后是该功能支持的每个场景(参见示例)。我希望能够以不同的背景运行文件中的每个场景...

例子:

Background:
Given a rest service `<some rest service>`

Scenario: should perform x
When performing `x`
Then `y`

Scenario: should feil with z
When performing `z`
Then http status should be `400`

【问题讨论】:

    标签: cucumber


    【解决方案1】:

    这里的问题是你的场景太笼统了,使用了太多的技术术语,比如“http status”和“rest service”。所有步骤均未使用商业语言进行表述。

    要么改写您的步骤以使用企业使用的相同语言,要么不使用 Cucumber。也许这些测试最好是使用与编写 REST 服务相同的语言编写的普通单元测试风格的测试。

    如果您想实践行为驱动开发,您需要学习基础知识。我推荐阅读BDD 101: Introducing BDD 作为起点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 2012-06-10
      相关资源
      最近更新 更多