Skip to content

bartoszpietrzak1994/SymfonyExtension

 
 

Repository files navigation

Symfony Extension

Integrates Behat with Symfony (^3.4 and ^4.1).

Inspired by Behat/Symfony2Extension.

Differences

  • Built-in symfony driver uses different kernel than the one that is used in the contexts. This means you can always change it to any other driver without any issues and ensures that application behaviour will not be affected by stateful services.

Usage

  1. Install it:

    $ composer require friends-of-behat/symfony-extension --dev
  2. Enable and configure in your Behat configuration:

    # behat.yml
    default:
        # ...
        extensions:
            FriendsOfBehat\SymfonyExtension: ~
  3. Good luck & have fun!

Configuration

SymfonyExtension provides kind of autoconfiguration feature. When none explicit configuration is set, we will set for you sane default that will get you running fast.

Default Symfony 3 configuration

FriendsOfBehat\SymfonyExtension:
    kernel:
        bootstrap: 'app/autoload.php' # you may want to use var/bootstrap.php.cache instead
        path: app/AppKernel.php
        class: 'AppKernel'
        env: test
        debug: true

Default Symfony 4 configuration

FriendsOfBehat\SymfonyExtension:
    # .env.dist file will be used if .env file does not exist
    env_file: .env
    kernel:
        bootstrap: ~
        path: src/Kernel.php
        class: 'App\Kernel'
        env: test # When explicitly set, will override APP_ENV loaded from env_file file
        debug: true  # When explicitly set, will override APP_DEBUG loaded from env_file file

Symfony 4 is automatically detected, based on the existence of default src/Kernel.php kernel file.

If you did not migrate to new Symfony structure yet or you are using custom paths/naming; you need to configure kernel.bootstrap parameter, to enable default Symfony 4 configuration as shown in the example below:

FriendsOfBehat\SymfonyExtension:
    # env_file: .env # loaded from the default configuration
    kernel:
        bootstrap: ~ # this enables default Symfony 4 configuration
        path: app/AppKernel.php
        # class: 'App\Kernel' # loaded from the default configuration
        # env: test # loaded from the default configuration
        # debug: true  # loaded from the default configuration

Of course, you can always change each of those settings.

About

🎼 Integrates Behat with Symfony.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.6%
  • Gherkin 1.4%