Kamil Kokot fc3d941443 refactor #42 Acceptance tests for core functionalities (bartoszpietrzak1994, pamil)
This PR was merged into the 2.0-dev branch.

Discussion
----------



Commits
-------

742d3358b5 Injected parameter test POC
7250dfca76 Get bare Behat scenario running
11f5a326b3 Test injecting parameters
d4efe9a6df Simplify services definition in Behat
9cede4d612 Test injecting services
d5fcb25ef2 Test autowiring contexts
b4bcbb1233 Test autowired & autoconfigured contexts
c8b0cbb205 Test isolating contexts
6061eaaf62 Test Mink integration
05f4fe789f Apply coding standard fixes
4405596ca1 Make PHPStan passing
85796e2fef Fix build on Symfony 3.4
2019-01-10 15:00:45 +01:00
2019-01-09 23:47:24 +01:00
2019-01-10 00:10:27 +01:00
2016-11-03 11:36:50 +01:00
2016-11-03 11:36:50 +01:00
2018-12-31 17:25:05 +01:00
2018-08-01 15:32:42 +02:00
2019-01-10 00:10:27 +01:00
2018-12-09 15:51:39 +01:00

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.

Description
Fork of FriendsOfBehat SymfonyExtension with Symfony 8 / PHP 8.5 compatibility work
Readme MIT 564 KiB
Languages
Gherkin 62.7%
PHP 37.3%