По умолчанию выполнение features/scenarios в Cucumber проходит согласно следующим правилам:
- В алфавитном порядке папок в папке features
- В алфавитном порядке файлов *.feature в папке
- В порядке размещения файлов *.feature находящихся в корне папки features
- features
- folder1
- file1.feature
- file2.feature
- folder2
- file3.feature
- file4.feature
- file5.feature
features/folder1/file1.feature
features/folder1/file2.feature
features/folder2/file3.feature
features/file4.feature
features/file5.feature
Но что же делать, если тестировщику нужно задать строгий порядок выполнения фич при запуске тестов?
При запуске Cucumber можно указать фичи в виде списка и их запуск будет произведен в указанном порядке. Например:
cucumber features/folder1/file2.feature features/folder2/file3.feature
Что делать с остальными фичами? Можно указать папку features в конце списка. Cucumber довольно умный и не станет запускать заново фичи, которые уже запускались до этого.
Таким образом строка
cucumber features/folder1/file2.feature features/folder2/file3.feature features
а какие ситуации требуют строгого порядка выполнения фич?
ОтветитьУдалитьЕсли требуется проходить тесты в строгом порядке, то это говорит о том, что тесты зависимые. А это не гут.
ОтветитьУдалитьНу, к примеру, мне необходимо, чтобы в первую очередь был пройден тест фичи 2, затем тест фичи 3 и только потом фичи 1.
ОтветитьУдалитьТакая вот последовательность важности! Для этого и необходимо...
Это неправильный подход к распределению тестов по важности. В какой-то момент будет сложно оперировать наборами тестов при указании порядка выполнения. Для того, чтобы выполнять тесты по важности, их лучше объединять в группы по тегам - https://github.com/cucumber/cucumber/wiki/Tags. Так проще менять важность сценария будет.
УдалитьВажность состоит только в приоритете? Или взаимосвязь порядка выполнения будет влиять на запуск каждого конкретного сценария?
УдалитьМожет это и не правильный подход, но работающий. И для единичного использования вполне резонный подход.
Удалить