Я пытаюсь написать несколько файлов функций Gherkin, чтобы провести приемочное тестирование BDD с помощью SpecFlow. Система, которую я пытаюсь протестировать, состоит из нескольких RESTful API - система имеет микросервисную архитектуру. В сценарии мне нужно быть уверенным, что некоторые записи уже существуют в базе данных, прежде чем переходить к фактическому сценарию, поэтому я включил раздел Background
с частью given
. Проблема, с которой я столкнулся, заключается в том, что каждая из этих записей, которые должны существовать, создаются с помощью API-интерфейсов, которые требуют большого количества данных в их контакте схемы, и команда требует, чтобы я указывал все поля и их соответствующие значения в записи в корнишоне. Таблица. Результат примерно такой:
| PassportExpireDate|PassportNumber|PassportCountry |Firstname|Lastname|LocalFirstname|LocalLastname | Birthday | NationalNumber | NationalityCountryId | PassengerType | Gender |PartyId | SourceTravelerId | CellNumber | Price|
Это заголовок одной из моих таблиц, которая будет использоваться для создания записи Traveler в базе данных перед началом фактического тестирования по спецификации. Однако, как вы можете видеть, в этой таблице слишком много полей, и поэтому она слишком длинная, слишком умещается на экране, и поэтому ее очень трудно читать и поддерживать. во-вторых, он тесно связан со схемой DTO. Я утверждал, что мы не должны вдаваться в подробности наших спецификаций, пытаясь включить только важные высокоуровневые данные (например, учитывая, что у нас уже есть путешественник по имени «Джеймс Петерсон»), но команда и технический директор настаивали на том, чтобы эти детали были присутствует в файле функций. В следующей попытке я разбил таблицы на несколько таблиц (например, личные данные, данные заказа, паспортные данные и т. Д.).
Но я все еще в замешательстве и думаю, что все еще не делаю этого. Какая ваша рекомендация? Есть ли у нас какое-нибудь практическое правило или передовой опыт для этого?