Behat is a popular open source behavior-driven development (BDD) tool for PHP. It allows developers to write human-readable acceptance tests in plain English, which are then automatically executed and checked against the application code. In this way, Behat helps ensure that an application is working correctly and meeting the desired specifications.

Installing Behat

Before you can start you will need to install it. There are several ways to do this, but the preferred method is to use Composer. If you don't already have Composer installed, you can download it from the Composer website.

Once you have Composer installed, open a terminal window and navigate to the root directory of your project. Then, run the following command to install Behat:

composer require --dev behat/behat
This will install Behat and all of its dependencies.

Setting Up Behat

After installing Behat, you will need to set up a configuration file and define the features that you want to test. To do this, run the following command in the terminal:

./vendor/bin/behat --init
This will create a behat.yml file in the root directory of your project. Open this file and configure the paths and settings as needed. For example, you may want to specify the paths to your features and bootstrap directories.

Writing Acceptance Tests

Once you have Behat set up, you can start writing acceptance tests. Acceptance tests are written in a language called Gherkin, which is a plain English syntax used to describe the behavior of an application.

Here is an example of a Gherkin acceptance test:

Feature: Search functionality
  As a user
  I want to be able to search the website
  So that I can find the information I need

  Scenario: Search for a term
    Given I am on the homepage
    When I search for "behat"
    Then I should see a list of results

In this example, the Feature describes the overall functionality being tested, and the Scenario outlines a specific case or example. The Given, When, and Then statements describe the steps that the test will follow.

To write your own acceptance tests, create a new file in the features directory and use the Gherkin syntax similar to above to describe the desired behavior. You can use variables and placeholders in your tests by enclosing them in angle brackets, like this: <variable>.

Running Acceptance Tests

Once you have written your acceptance tests, you can run them by using the behat command in the terminal. For example, to run all of the tests in the features directory, you would use the following command:

You can also run a specific test by specifying the path to the test file, like this:

./vendor/bin/behat features/search.feature
Behat will execute the tests and display the results in the terminal window. If a test fails, it will show you the error message and the line of code where the failure occurred.


Behat is a powerful tool for behavior-driven development that allows developers to write and execute acceptance tests in a simple and intuitive way. By using Behat, you can ensure that your application is working correctly and meeting the desired specifications. To use Behat, you will need to install it and set up a configuration file. Then, you can start writing acceptance tests in Gherkin syntax and running them with the behat command. With Behat, you can easily test and validate the behavior of your application, helping you to deliver high-quality software to your users.