Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Symfony Extension Laravel Package

friends-of-behat/symfony-extension

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Accelerate QA Automation: Enables seamless integration of Behat (BDD) with Symfony, reducing manual testing efforts and improving test coverage for web applications.
  • Developer Experience (DX): Aligns Behat contexts with Symfony’s dependency injection (DI) system, eliminating boilerplate and leveraging autowiring for cleaner, maintainable test code.
  • Shift-Left Testing: Facilitates earlier integration of behavioral tests into the development workflow, catching bugs closer to their origin.
  • Roadmap for Test-Driven Development (TDD): Supports a TDD approach by allowing feature specifications to drive Symfony application development, particularly useful for greenfield projects or refactoring initiatives.
  • Build vs. Buy: Justifies buying (adopting) this package over custom solutions for teams already using Symfony + Behat, reducing maintenance overhead and leveraging community-driven improvements.
  • Use Cases:
    • Regression Testing: Maintain a suite of high-level behavioral tests for Symfony applications.
    • API/Feature Validation: Validate Symfony API endpoints or full-stack workflows (e.g., user authentication flows) via Mink (Selenium, ChromeDriver, etc.).
    • Onboarding: Standardize testing practices for new Symfony developers by providing a pre-configured, opinionated setup.

When to Consider This Package

  • Adopt When:

    • Your team uses Symfony 6.x/7.x and Behat for BDD, and you’re frustrated with manual context setup or legacy Behat/Symfony2Extension.
    • You want to reduce test infrastructure complexity (e.g., no need for separate test servers or custom Mink configurations).
    • Your project prioritizes maintainability over custom solutions, and you’re comfortable with MIT-licensed open-source dependencies.
    • You’re migrating from older Symfony versions or need to modernize your testing stack.
  • Look Elsewhere If:

    • You’re not using Symfony (this package is Symfony-specific).
    • Your team prefers unit/integration tests over BDD (e.g., PHPUnit + Pest).
    • You need advanced parallel testing or distributed execution (this package focuses on local/integration testing).
    • Your project requires commercial support (this is community-driven; consider paid alternatives like SensioLabs Behat extensions).
    • You’re using Symfony 5.x or below (limited compatibility; check upstream issues).

How to Pitch It (Stakeholders)

For Executives: "This package lets our QA and dev teams write behavioral tests for Symfony apps faster and with less overhead. By integrating Behat directly with Symfony’s service container, we eliminate manual setup, reduce flaky tests, and catch bugs earlier—saving time and money in the long run. It’s a low-risk, high-reward upgrade from legacy tools, with active maintenance and community support."

For Engineering/Tech Leads: *"SymfonyExtension modernizes our Behat workflow by:

  1. Autowiring contexts as Symfony services—no more manual DI config.
  2. Simplifying Mink integration for Symfony apps (no test server needed).
  3. Future-proofing our tests for Symfony 6/7 with semantic versioning. It’s a drop-in replacement for outdated extensions, with better DX and less maintenance. The release blogpost shows how it solves real pain points. Let’s pilot it on [Project X] to validate ROI."*

For Developers: *"This replaces the clunky Behat/Symfony2Extension with a package that:

  • Just works with Symfony’s DI (no more services.yml hacks).
  • Supports Mink out of the box (test real browsers or headless Chrome).
  • Has zero breaking changes in minor releases (safe to adopt). Check the config reference to see how trivial setup is. PRs welcome!"*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver