Как запустить конкретный сценарий Behat
Я пытаюсь запустить конкретный сценарий Behat из командной строки, вот что я делаю:
$ bin/behat features/features/baseline.feature:3
Однако это не поднимает сценарий.
Если я запустил
bin/behat features/features/baseline.feature
Я могу запустить весь файл функций.
Вот как выглядит файл: сценарий, который я пытаюсь запустить, находится в строке 3 в текстовом редакторе:
Feature:
@api
Scenario: Clear cache
Given the cache has been cleared
When I am on the homepage
Then I should get a "200" HTTP response
Scenario:
Given I am not logged in
When I am on the homepage
Then I should see the text "We love our users"
Ответы
Ответ 1
Прежде всего, вы должны добавить полное описание файла функций, например:
Feature: Home page functionality
In order to use application functionality
As a website user
I need to be able see the home page
И Scenario
должно также иметь описание.
Вы можете запускать сценарии поведения с помощью тегов:
bin/behat --tags @api
В принципе каждый Scenario
может иметь собственный тег. Команда Behat попытается найти все сценарии с этим тегом @api
.
Также вы можете указать тег для всего файла Feature:
@whole-feature-file
Feature: Home page functionality
Сценарий запуска с использованием части имени:
bin/behat --name="element of feature"
Или в соответствии с комментарием @greggles:
Укажите имя файла функции и номер строки, например.
bin/behat features/file.feature:123
где 123 - номер строки строки, такой как Scenario: Clear cache
Подробнее см. behat docs
Ответ 2
Я обнаружил, что я должен использовать полный путь к файлу функций только при выполнении определенного сценария. Например, если ваш файл функции находился в /var/www/html/tests/features/features, а также в вашем /var/www/html/tests, попробуйте эту команду:
bin/behat /var/www/html/tests/features/features/baseline.feature:3
Ответ 3
Выяснилось, что вы можете просто пометить сценарий любым пользовательским тегом, например @foobar
.
Feature:
@api @foobar
Scenario: Clear cache
Given the cache has been cleared
When I am on the homepage
Then I should get a "200" HTTP response
Scenario:
Given I am not logged in
When I am on the homepage
Then I should see the text "We love our users"
И тогда запускать только следующие сценарии:
behat --tags foobar