Behat
behat.org
What it is
Behat is free, open-source software for writing executable specifications in plain language on Linux. It is the PHP implementation of Cucumber and runs Gherkin feature files. Those files can describe complete application behavior and be exercised through browser automation, HTTP API calls, shell commands, databases, filesystems, or PHP code. Behat is intended to work with any PHP framework or without one. Installation uses Composer or a PHAR executable, both running with PHP. An extension system can expand or replace nearly any part of the tool, with extensions covering framework integrations, browser automation, test reporting, and data fixtures. Behat does not provide its own assertion tool, so an external assertion library is needed. It supports current PHP and third-party dependency versions; Symfony 8 support begins with Behat 4.0. Each major version receives security fixes for 24 months after the next major release.
Spec sheet
- Purpose
- Behat is an open source behavior-driven development tool for writing executable software specifications in plain language.Read 4 Oct 2026 · docs.behat.org
- Assertions
- Behat does not include its own assertion tool, and its documentation lists external assertion libraries that can be used.Read 4 Oct 2026 · docs.behat.org
- Community support
- The project directs users to its Gitter channel for questions and its contribution guide for issues or feature contributions.Read 4 Oct 2026 · docs.behat.org
- Compatibility limit
- Behat supports current PHP and third-party dependency versions, and says Symfony 8 support starts with Behat 4.0.Read 4 Oct 2026 · docs.behat.org
- Extensibility
- Behat's extension system can enhance or replace nearly any part of its functionality.Read 4 Oct 2026 · docs.behat.org
- Extensions
- Available extensions include integrations for PHP frameworks, browser automation, test result reporting, and data fixtures; the project says it does not maintain an official extension list.Read 4 Oct 2026 · docs.behat.org
- Framework support
- Behat is designed to work with any PHP framework or with no framework.Read 4 Oct 2026 · docs.behat.org
- Installation
- The documented installation methods are Composer and a PHAR executable, both run using PHP.Read 4 Oct 2026 · docs.behat.org
- PHP implementation
- Behat is the PHP implementation of Cucumber and runs specifications written in Gherkin.Read 4 Oct 2026 · docs.behat.org
- Security support
- The project states that each major version receives security fixes for 24 months after the next major release.Read 4 Oct 2026 · docs.behat.org
- Testing scope
- Feature files can describe whole application behavior and can be tested using browser automation, HTTP API calls, shell commands, databases, filesystems, or PHP code.Read 4 Oct 2026 · docs.behat.org
- Warranty
- Behat describes itself as free software maintained by volunteers and says its license provides it without warranty.Read 4 Oct 2026 · docs.behat.org
Plans and prices
Strong points and limits
Strong points
- Free open-source software
- Gherkin specifications in plain language
- Browser and API testing supported
- Works with any PHP framework
- Extensible through replacement-capable extensions
Limits
- Linux platform listed
- No built-in assertion tool
- Symfony 8 needs Behat 4.0
- Provided without warranty
Who it suits
Behat suits PHP developers who want behavior specifications in Gherkin and tests spanning browsers, APIs, command lines, or application resources. It can serve projects with or without a PHP framework.
Verdict
Behat provides a broad execution layer for Gherkin specifications in PHP projects. Its extension model and multiple testing interfaces are useful, but assertion support comes from external libraries and the software carries no warranty.
Where Specifiction places it
- BDD Testing Tools#10 of 307.7