Initialize a New Behat Project

The easiest way to start using Behat in your project is to call behat with the --init option inside your project directory:

$ vendor/bin/behat --init

After you run this command, Behat will set up a features directory inside your project:

The newly created features/bootstrap/FeatureContext.php will have an initial context class to get you started:

// features/bootstrap/FeatureContext.php

use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\Gherkin\Node\PyStringNode;
use Behat\Gherkin\Node\TableNode;

class FeatureContext implements SnippetAcceptingContext
     * Initializes context.
    public function __construct()

All step definitions and Hooks necessary for testing your project against your features will be represented as methods inside this class.

Suite Initialisation

Suites are a core part of Behat. Any feature of Behat knows about them and can give you a hand with them. For example, if you defined your suites in behat.yml before running --init, it will actually create the folders and suites you configured, instead of the default ones.

Previous chapter
Features and Scenarios
Next chapter
Writing Scenarios