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