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
bin/behat features/features/baseline.feature
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"
Behat is a tool that makes behavior driven development (BDD) possible. With BDD, you write human-readable stories that describe the behavior of your application. These stories can then be auto-tested against your application. And yes, it's as cool as it sounds!
Behat is a PHP testing framework which can be used to automate acceptance tests in a human readable language called Gherkin. Since it is based on Cucumber, it also helps teams to adopt and implement Behavioral Driven Development (BDD).
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
And Scenario
should also has a description.
You can run behat scenarios using tags:
bin/behat --tags @api
Basically every Scenario
could has own tag. Behat command will try to find all scenarios with that @api
tag.
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.
bin/behat features/file.feature:123
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 @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"
And then have only this scenarios run with:
behat --tags foobar
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With