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