BDD in PHP
The easiest way to install Behat is by using Composer:
composer require --dev behat/behat
After that you'll be able to run Behat via:
vendor/bin/behat
Clone the repository and install dependencies via Composer:
composer install
After that you will be able to run development version of Behat via:
bin/behat
Before contributing to Behat, please take a look at the CONTRIBUTING.md document.
Starting from v3.0.0, Behat is following Semantic Versioning v2.0.0.
This basically means that if all you do is implement interfaces (like this one)
and use service constants (like this one),
you would not have any backwards compatibility issues with Behat up until v4.0.0 (or later major)
is released. Exception could be an extremely rare case where BC break is introduced as a measure
to fix a serious issue.
You can read detailed guidance on what BC means in Symfony BC guide.
Behat is free software, maintained by volunteers as a gift for users. If you'd like to see the project continue to thrive, and particularly if you use it for work, we'd encourage you to contribute.
Contributions of time - whether code, documentation, or support reviewing PRs and triaging issues - are very welcome and valued by the maintainers and the wider Behat community.
But we also believe that financial sponsorship is an important part of a healthy Open Source ecosystem. Maintaining a project like Behat requires a significant commitment from the core team: your support will help us to keep making that time available over the long term. Even small contributions make a big difference.
You can support @acoulton, @carlos-granados and @stof on GitHub sponsors. If you'd like to discuss supporting us in a different way, please get in touch!
Technology sponsors allow us to use their products and services for free as part of a contribution to the open source ecosystem and our work.
Many final classes miss proper interfaces
Add support for Rule keyword (Gherkin 6)
Deprecate (and remove) the `--rerun` option in favour of `--rerun-only`
A scenario failing only in an after-scenario hook still reports a passing TestResult
[4.x] Move support for stringifying phpunit exceptions into an extension
Behat executes extension logic first instead of its own
Create phpstan extension to check Behat extensions
4.0 release planning / co-ordination issue
Upgrade to a newer/supported PHPUnit
Option to control pretty format feature line annotations