PHPackages                             yannickgranger/symfony-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. yannickgranger/symfony-extension

ActiveBehat-extension[Testing &amp; Quality](/categories/testing)

yannickgranger/symfony-extension
================================

Integrates Behat with Symfony. Supports Symfony 6.4/7.x/8.x and Behat 3/4. Features lazy driver kernel and improved architecture.

v3.0.0(3mo ago)0231MITGherkinPHP ^8.1CI failing

Since Nov 3Pushed 3mo agoCompare

[ Source](https://github.com/yannickgranger/SymfonyExtension)[ Packagist](https://packagist.org/packages/yannickgranger/symfony-extension)[ Docs](https://github.com/yannickgranger/SymfonyExtension)[ RSS](/packages/yannickgranger-symfony-extension/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (15)Versions (53)Used By (0)

 [![](https://avatars2.githubusercontent.com/u/20600343)](https://avatars2.githubusercontent.com/u/20600343)

SymfonyExtension
================

[](#symfonyextension)

> **Fork Notice**: This is a maintained fork of [FriendsOfBehat/SymfonyExtension](https://github.com/FriendsOfBehat/SymfonyExtension) with improved architecture and extended version support.

This Behat extension provides an integration with Symfony (`^6.4`, `^7.0`, and `^8.0`) and Mink driver for Symfony applications. Also supports Behat 4.

It allows for:

- defining your contexts as regular Symfony services
- autowiring and autoconfiguring your contexts
- testing your Symfony application without having to set up a server

What's Different in This Fork
-----------------------------

[](#whats-different-in-this-fork)

FeatureOriginalThis ForkSymfony support6.4, 7.06.4, 7.0, **8.0**Behat support3.x3.x, **4.x**Kernel managementDual-kernel, tightly coupled**KernelManager** with lazy driver kernelDriver kernelAlways created**Lazy-loaded** (only when Mink used)### Architecture Improvements

[](#architecture-improvements)

- **KernelManager**: Centralized lifecycle management for context and driver kernels
- **Lazy driver kernel**: Only instantiated when Mink makes first HTTP request
- **Cleaner separation**: Explicit `setUp()`/`tearDown()` lifecycle hooks

Installation
------------

[](#installation)

```
composer require yannickgranger/symfony-extension --dev
```

Migration from FriendsOfBehat/SymfonyExtension
----------------------------------------------

[](#migration-from-friendsofbehatsymfonyextension)

This is a **drop-in replacement**. No configuration changes needed:

```
# Remove old package
composer remove friends-of-behat/symfony-extension

# Install this fork
composer require yannickgranger/symfony-extension --dev
```

Your existing `behat.yml` configuration will work as-is.

Documentation
-------------

[](#documentation)

- [Installation](DOCUMENTATION.md#installation)
- [Usage](DOCUMENTATION.md#usage)
- [Mink integration](DOCUMENTATION.md#mink-integration)
- [Behat/Symfony2Extension differences](DOCUMENTATION.md#differences-from-behatsymfony2extension)
- [Configuration reference](DOCUMENTATION.md#configuration-reference)

For a bit of backstory, take a look at the [SymfonyExtension v2.0.0 release blogpost](https://kamilkokot.com/tame-behat-with-the-brand-new-symfony-extension).

Versioning and release cycle
----------------------------

[](#versioning-and-release-cycle)

This package follows [semantic versioning](https://semver.org/).

Public API is defined as configuration and behaviour defined in form of testable scenarios in the [`features`](features) directory. This means once your application is configured to use Behat with SymfonyExtension, it shall continue to work flawlessly within the same major version.

License
-------

[](#license)

This extension is completely free and released under permissive [MIT license](LICENSE).

Authors
-------

[](#authors)

Originally created by [Kamil Kokot](https://github.com/pamil). See the list of [all contributors](https://github.com/FriendsOfBehat/SymfonyExtension/graphs/contributors).

Fork maintained by [Yannick Granger](https://github.com/yannickgranger).

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance80

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity85

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 75.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~68 days

Recently: every ~186 days

Total

50

Last Release

104d ago

Major Versions

v0.2.1 → v1.0.02017-07-10

v1.4.0 → v2.0.0-beta.12019-01-10

v2.6.2 → v3.0.02026-01-25

PHP version history (5 changes)v0.1.0PHP ^5.6|^7.0

v1.0.0PHP ^7.1

v2.2.0PHP ^7.3 || ^8.0

v2.3.0PHP ^7.4 || ^8.0

v2.5.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/08f89c18a3a4e8b7a81ab232d7e2aabcb4b3ffe73442bc7c87803337a0454775?d=identicon)[Gompali](/maintainers/Gompali)

---

Top Contributors

[![pamil](https://avatars.githubusercontent.com/u/1897953?v=4)](https://github.com/pamil "pamil (299 commits)")[![Yozhef](https://avatars.githubusercontent.com/u/8971757?v=4)](https://github.com/Yozhef "Yozhef (29 commits)")[![lchrusciel](https://avatars.githubusercontent.com/u/6213903?v=4)](https://github.com/lchrusciel "lchrusciel (13 commits)")[![mpdude](https://avatars.githubusercontent.com/u/1202333?v=4)](https://github.com/mpdude "mpdude (10 commits)")[![adiq](https://avatars.githubusercontent.com/u/2352677?v=4)](https://github.com/adiq "adiq (5 commits)")[![dunglas](https://avatars.githubusercontent.com/u/57224?v=4)](https://github.com/dunglas "dunglas (5 commits)")[![Zales0123](https://avatars.githubusercontent.com/u/6212718?v=4)](https://github.com/Zales0123 "Zales0123 (3 commits)")[![ruudk](https://avatars.githubusercontent.com/u/104180?v=4)](https://github.com/ruudk "ruudk (3 commits)")[![arnolanglade](https://avatars.githubusercontent.com/u/3585922?v=4)](https://github.com/arnolanglade "arnolanglade (3 commits)")[![loic425](https://avatars.githubusercontent.com/u/8329789?v=4)](https://github.com/loic425 "loic425 (3 commits)")[![yannickgranger](https://avatars.githubusercontent.com/u/67411090?v=4)](https://github.com/yannickgranger "yannickgranger (2 commits)")[![DonCallisto](https://avatars.githubusercontent.com/u/7060632?v=4)](https://github.com/DonCallisto "DonCallisto (2 commits)")[![alanpoulain](https://avatars.githubusercontent.com/u/10920253?v=4)](https://github.com/alanpoulain "alanpoulain (2 commits)")[![rogamoore](https://avatars.githubusercontent.com/u/5249624?v=4)](https://github.com/rogamoore "rogamoore (1 commits)")[![shahinataei-ts](https://avatars.githubusercontent.com/u/235527741?v=4)](https://github.com/shahinataei-ts "shahinataei-ts (1 commits)")[![soyuka](https://avatars.githubusercontent.com/u/1321971?v=4)](https://github.com/soyuka "soyuka (1 commits)")[![stof](https://avatars.githubusercontent.com/u/439401?v=4)](https://github.com/stof "stof (1 commits)")[![walva](https://avatars.githubusercontent.com/u/3897363?v=4)](https://github.com/walva "walva (1 commits)")[![wuchen90](https://avatars.githubusercontent.com/u/8489333?v=4)](https://github.com/wuchen90 "wuchen90 (1 commits)")[![yguedidi](https://avatars.githubusercontent.com/u/1480128?v=4)](https://github.com/yguedidi "yguedidi (1 commits)")

---

Tags

testingsymfonyfunctional-testingBDDMinkBehat

###  Code Quality

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/yannickgranger-symfony-extension/health.svg)

```
[![Health](https://phpackages.com/badges/yannickgranger-symfony-extension/health.svg)](https://phpackages.com/packages/yannickgranger-symfony-extension)
```

###  Alternatives

[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M1.9k](/packages/behat-behat)[macpaw/behat-messenger-context

Behat Context for testing Symfony Messenger component

16232.9k](/packages/macpaw-behat-messenger-context)[vipsoft/code-coverage-extension

Behat code coverage collector

2186.5k2](/packages/vipsoft-code-coverage-extension)[leanphp/behat-code-coverage

Generate Code Coverage reports for Behat tests

50359.8k2](/packages/leanphp-behat-code-coverage)[tonicforhealth/behat-parallel-scenario

Behat parallel scenario

24354.7k](/packages/tonicforhealth-behat-parallel-scenario)[happyr/service-mocking

Make it easy to mock services in a built container

48253.8k2](/packages/happyr-service-mocking)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
