This package is abandoned and no longer maintained. No replacement package was suggested.

Adding BDD test with Behat to laravel 4

v1.5 2014-08-06 12:03 UTC

This package is auto-updated.

Last update: 2022-02-07 17:02:05 UTC



Behat-Laravel is a solution to test your application using the BDD methodology.



  • Create the folder structure to receive the Acceptance tests.
  • Run the acceptance test.
  • Ingration with Zizaco/TestCases-Laravel, that provide the useful methods test your application.

Quick start:

Required setup

In the require key of composer.json file add the following:

"guilhermeguitte/behat-laravel": "dev-master"

Run the Composer update comand

$ composer update

In your config/app.php add 'GuilhermeGuitte\BehatLaravel\BehatLaravelServiceProvider' to the end of the $providers array

'providers' => array(



Install selenium.


Now generate Behat's structure folder using the follow artisan's command:

$ php artisan behat:install

You can pass the test path if you are not using the app/tests folder.

$ php artisan behat:install --test_path==your/test/path

Generating Documentation

To create a document in html just run:

$ php artisan behat:html # will create a file at application's root


$ php artisan behat:html --out path/you/need/doc.html # will create a file specified path


Adding Contexts

When you create a context in the folder tests\acceptance\contexts these files will be included by FeatureContext preventing the specification of files that will be used by the tests.

$ php artisan behat:feature --name=NameOfFeature

Will create:


Running tests

To run all test, you can use the follow command:

$ php artisan behat:run

To run tests for specific features, you can specify the name of the folder or the .feature file:

$ php artisan behat:run name_of_feature
$ php artisan behat:run name_of_feature/name_of_feature.feature
$ php artisan behat:run name_of_feature/separated_scenarios.feature

If you have large feature files and you only want to run a specific senario use

$ php artisan behat:run --name="name of feature"

Laravel behat currently supports the following behat command line options:

 --format (-f)        How to format features. pretty is default.
                      Default formatters are:
                      - pretty: Prints the feature as is.
                      - progress: Prints one character per step.
                      - html: Generates a nice looking HTML report.
                      - junit: Generates a report similar to Ant+JUnit.
                      - failed: Prints list of failed scenarios.
                      - snippets: Prints only snippets for undefined steps.

 --no-snippets        Do not print out snippets
 --profile (-p)       Specify config profile to use.
 --name               Only execute the feature elements which match
                      part of the given name or regex.


Behat-Laravel is free software distributed under the terms of the MIT license.