guilhermeguitte / behat-laravel
Adding BDD test with Behat to laravel 4
Installs: 19 102
Dependents: 0
Suggesters: 1
Security: 0
Stars: 64
Watchers: 8
Forks: 13
Open Issues: 7
pkg:composer/guilhermeguitte/behat-laravel
Requires
- php: >=5.3.0
- alexandresalome/php-selenium: 1.0.1
- behat/behat: 2.5.*
- behat/mink-extension: 1.3.3
- illuminate/support: *
- zizaco/testcases-laravel: dev-master
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is auto-updated.
Last update: 2022-02-07 17:02:05 UTC
README
Behat-Laravel is a solution to test your application using the BDD methodology.
Features:
Current:
- 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(
    'Illuminate\Foundation\Providers\ArtisanServiceProvider',
    'Illuminate\Auth\AuthServiceProvider',
    ...
    'GuilhermeGuitte\BehatLaravel\BehatLaravelServiceProvider',
),
Install selenium.
http://docs.seleniumhq.org/download/
Commands
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
or
$ php artisan behat:html --out path/you/need/doc.html # will create a file specified path
Structure
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:
    app\tests\acceptance\contexts\NameOfFeatureContext.php
    app\tests\acceptance\features\name_of_feature\name_of_feature.feature
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.
License
Behat-Laravel is free software distributed under the terms of the MIT license.