Мы используем BDD и SpecFlow для стимулирования нашего развития (ATDD).
Наша команда QA хотела бы определить свои собственные «сквозные регрессионные тесты» (в Gherkin / SpecFlow) и повторно использовать шаги, которые мы уже определили.
(Обратите внимание - я знаю, что это не лучший пример, но он должен содержать достаточно подробностей)
Тест может включать ..
- Авторизоваться
- Искать продукт
- Выберите товар для покупки
- Создать заказ
- Выберите вариант доставки.
- Отправьте заказ.
- Отменить заказ.
Это предполагает такой сценарий ..
Если я вошел в систему
Когда я ищу продукт
И я выбираю продукт для покупки
И я создаю заказ
И я выбираю вариант доставки
И я Отправьте заказ
И я Отменю заказ
Тогда ?? !!
Что явно неверно, поскольку мы не проверяем вывод на каждом шаге.
Таким образом, это может быть разрешено как последовательность сценариев:
Сценарий 1:
Если я вошел в систему
Когда я ищу продукт
Затем я вижу список продуктов
Сценарий 2:
Когда я выбираю продукт для покупки
Затем я могу создать заказ
Сценарий 3:
Когда я создаю заказ
и выбираю вариант доставки
Затем я могу отправить заказ
и т. д. и т. д.
Основная проблема заключается в том, что, похоже, нет способа указать порядок / последовательность, в которой запускаются сценарии (характеристика nUnit?). Поскольку между сценариями существуют зависимости (для них не задана известная начальная точка), они должны выполняться последовательно.
Мои вопросы:
а) Мы пытаемся вставить квадратный колышек в круглое отверстие ?!
б) Кто-нибудь знает, есть ли способ использовать SpecFlow / Gherkin таким образом?
в) Или кто-нибудь знает, какие есть альтернативы?
Большое спасибо!