黄瓜特征文件中应提供多少数据?

问题描述 投票:1回答:1

我正在尝试编写一些Gherkin功能文件,以便使用SpecFlow进行BDD验收测试。我要测试的系统由多个RESTful API组成-系统具有微服务架构。在一个方案中,我需要确定在进行实际方案之前数据库中已经存在一些记录,因此我在Background部分中包含了given部分。我遇到的问题是,每个需要存在的记录都是通过API创建的,这些API在其架构联系人中需要大量数据,而团队则需要我在一个小黄瓜记录中指定每个字段及其各自的值表。结果是这样的:

| PassportExpireDate|PassportNumber|PassportCountry |Firstname|Lastname|LocalFirstname|LocalLastname | Birthday | NationalNumber | NationalityCountryId | PassengerType | Gender |PartyId | SourceTravelerId | CellNumber | Price|

这是我的一个表的标题,该表将用于在按规范开始实际测试之前在数据库中创建Traveler记录。但是,如您所见,该表的字段太多,因此太长,无法容纳在屏幕上,因此很难阅读和维护。其次,它与DTO模式紧密耦合。我认为我们不应该在规范中加入太多细节,而仅包括重要的高级数据(例如,假设我们已有一个名为“詹姆斯·彼得森”的旅行者),但是团队和CTO坚持认为这些细节应该存在于功能文件中。在下一次尝试中,我将这些表分成多个表(例如,个人数据,订单数据,护照数据等)。

但是我仍然很困惑,我认为我仍然没有做这件事。你有什么建议?我们对此有任何经验法则或最佳实践吗?

cucumber bdd gherkin acceptance-testing
1个回答
0
投票

您是否可以如下转换数据表中的字段和值。

      |field                 |values    |
      | PassportExpireDate   |[]        |
      | PassportNumber       |[]        |
      | PassportCountry      |[]        |
      | Firstname            |[]        |
      | Lastname             |[]        |
      | LocalFirstname       |[]        |
      | LocalLastname        |[]        |
      | Birthday             |[]        |
      | NationalNumber       |[]        |
      | NationalityCountryId |[]        |
      | PassengerType        |[]        |
      | Gender               |[]        |
      | PartyId              |[]        |
      | SourceTravelerId     |[]        |
      | CellNumber           |[]        |
      | Price                |[]        |

并且在步骤def中执行逻辑以从values数组中获取值。

© www.soinside.com 2019 - 2024. All rights reserved.