我正在尝试编写一些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坚持认为这些细节应该存在于功能文件中。在下一次尝试中,我将表格分成多个表格(例如,个人数据,订单数据,护照数据等)。
但是我仍然很困惑,我想我仍然没有做这件事。你有什么建议?我们对此有任何经验法则或最佳实践吗?
您可以按以下方式转置数据表中的字段和值吗?
|field |values |
| PassportExpireDate |[] |
| PassportNumber |[] |
| PassportCountry |[] |
| Firstname |[] |
| Lastname |[] |
| LocalFirstname |[] |
| LocalLastname |[] |
| Birthday |[] |
| NationalNumber |[] |
| NationalityCountryId |[] |
| PassengerType |[] |
| Gender |[] |
| PartyId |[] |
| SourceTravelerId |[] |
| CellNumber |[] |
| Price |[] |
在步骤def中,实现逻辑以从values数组中获取值。
如果您对此实施有任何疑问或需要帮助,请告诉我。唯一的挑战是我们必须确保所有字段的数组项计数均相同。