Подготовка данных для сценария SpecFlow
Я собираюсь протестировать сложный сценарий, который предполагает выполнение нескольких других шагов до него.
Например, это может быть эквивалентно наличию надлежащих данных на складе до того, как товары будут забраны у нас. Таким образом, для того, чтобы доставка произошла, сначала необходимо убедиться, что на складе есть товары и есть заказ на доставку. Там могут быть отдельные экраны для вставки продуктов на склад. Поэтому, прежде чем я начну тестировать сценарии извлечения, я должен быть готов к ним.
Каков был бы лучший способ быть готовым с этими данными? Я в принципе мог придумать два варианта.
Пройдите через фактические экраны, чтобы подготовить данные.
Сделайте снимок БД с подготовленными данными для выполнения желаемого сценария.
Я не уверен, каким образом мне следует двигаться вперед, и хотел бы услышать подобные впечатления от людей, которые пробовали что-то подобное.
2 ответа
Я бы выбрал вариант 2 - вы тестируете какой-либо вариант использования, и вам не следует включать варианты использования, проверенные другими тестами. Тест состоит из некоторого кода, управляющего тестом, и данных, используемых для выполнения теста. Поэтому, если вам нужны специальные данные для теста, вы должны подготовить их заранее, а не создавать их с помощью логики приложения.
Другая вещь, которую вы могли бы сделать, - это иметь структуру, которая вставляет эти данные в базу данных. Таким образом, его можно использовать повторно в других сценариях, и это будет быстрее, чем восстановление базы данных в каждом сценарии.