- Is ibexa/behat a Laravel package?
- No. ibexa/behat is the vendor-maintained Behat test bundle for Ibexa DXP, a commercial Symfony-based CMS and DXP, and it assumes a Symfony 6 or 7 kernel plus Ibexa bundles and APIs. It has no fit in a Laravel-only stack; Laravel teams should use Laravel-native testing tools instead.
- How do I install ibexa/behat?
- Install it as a dev dependency with composer require --dev ibexa/behat --no-scripts --no-plugins, then run composer sync-recipes ibexa/behat --force -v. The recipe writes Behat configuration files, including ready-made profiles, so test it on a scratch or staging checkout first. Avoid --force on an existing mainline branch if you already have a behat.yml.
- Does ibexa/behat work with Laravel?
- No. The bundle is built for Ibexa DXP on Symfony and depends on Ibexa-specific contexts, step definitions, fixtures, and configuration. There is no Laravel integration surface, and the package should not be added to a Laravel application. For Laravel acceptance testing, use tools such as Laravel Dusk, Pest, or PHPUnit with your own browser harness.
- Which Ibexa DXP versions are supported by ibexa/behat?
- Two maintained branches are referenced: 5.0.x and 4.6.x LTS. The bundle version must track your DXP version because v5 moved from Symfony 6 to Symfony 7, and version mismatches show up as non-obvious context or config failures. Pin the bundle branch to the DXP major you are running.
- What license does ibexa/behat use?
- GitHub reports NOASSERTION, but the README defines a dual model: Ibexa Business Use License v2.4 or later, valid with a paid Ibexa DXP subscription, or GPLv2. GPLv2 is copyleft and is rarely acceptable for proprietary application code, while the BUL path depends on an active commercial subscription. Resolve this with legal and procurement before engineering work.
- What infrastructure do I need to run ibexa/behat tests?
- You need a bootable Ibexa DXP instance, a database populated with fixtures, and a supported search engine such as Solr or Elasticsearch depending on your DXP setup. Browser-driven scenarios also require Selenium with a Chrome container. This is a full-stack acceptance-test harness, not a unit-test add-on.
- Can I use ibexa/behat in production?
- No. It is installed as a Composer dev dependency and has no production runtime surface. Its purpose is writing and running Behat BDD acceptance tests against an Ibexa DXP instance. Keep it out of production deployments and treat the test environment as disposable infrastructure.
- Why does the ibexa/behat install command use sync-recipes --force?
- The Symfony Flex recipe writes Behat configuration and profiles, including a headless storefront profile. The documented --force flag overwrites existing files, which can clobber your behat.yml and related configuration on an existing project. Use it on a scratch checkout first, capture what the recipe writes, and adopt selectively.
- Is ibexa/behat actively maintained?
- It is a vendor monorepo component with near-monthly patch releases and maintained 5.0.x and 4.6.x branches. GitHub stars and dependents are low, so community tutorials and Stack Overflow coverage are minimal, and support runs through Ibexa commercial channels. That means your team owns custom step definitions and upgrade cadence.
- How do I extend ibexa/behat with custom step definitions?
- Start with the documented extending guide and add your own contexts, step definitions, and feature fixtures alongside the bundle's built-in ones. Keep custom code isolated so bundle upgrades are predictable, and plan for the near-monthly patch cadence. If you already have a Behat and Mink harness, extend it rather than standing up a second orphaned suite.