Skip to content
SPECIFICTION
Get listed

Behat

behat.org

Free plan Linux
Visit behat.org
Spec score 7.7 #10 of 30 in BDD Testing Tools

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

Behat Free Free software; provided without warranty Read 4 Oct 2026 · docs.behat.org

Every Behat plan and price →

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

Alternatives to BehatAll alternatives →