I’m trying to run a specific Behat scenario from the command line, here’s what I’m doing:
$ bin/behat features/features/baseline.feature:3
However this isn’t picking up the scenario.
If I run
I can get the entire feature file to run.
Here’s what the file looks like — the scenario I’m trying to run is on line 3 in my text editor:
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"
First of all you should add the whole description of the feature file, like:
Feature: Home page functionality In order to use application functionality As a website user I need to be able see the home page
Scenario should also has a description.
You can run behat scenarios using tags:
bin/behat --tags @api
Scenario could has own tag. Behat command will try to find all scenarios with that
Also you can specify tag for the whole Feature file:
@whole-feature-file Feature: Home page functionality
Run Scenario using part of the name:
bin/behat --name="element of feature"
Or according to the @greggles comment:
Specify the feature file name and line number, e.g.
where 123 is the line number of the line like
Scenario: Clear cache
For more details see behat docs
Found out you can simply tag a scenario with any custom tag, for example
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"
And then have only this scenarios run with:
behat --tags foobar
I find that I have to use the full path to the feature file only when executing a specific scenario. For example, if your feature file was in /var/www/html/tests/features/features, and your in /var/www/html/tests then try this command: