Weave 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

Atoum Bundle Laravel Package

atoum-next/atoum-bundle

Symfony bundle for integrating atoum-next, the PHP unit testing framework, into Symfony applications. It provides bundle configuration, service wiring, and convenient test execution so teams can write and run atoum tests within a standard Symfony project.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What this actually is. atoum-next/atoum-bundle 5.0.0 is a Symfony bundle, not a Laravel package. It wires the atoum test framework (a mock-first alternative to PHPUnit) into Symfony's test kernel — it ships a Bundle class, a DI extension, and kernel-level test bootstrapping. There is no service provider, no Laravel auto-discovery, and no container integration path for Laravel's application kernel.

Architecture fit. Near zero for a Laravel codebase as published. The bundle's value lives in Symfony-specific hooks; consuming it from Laravel would require us to author and own an adapter package that re-implements bundle bootstrapping — non-trivial, and it would be our maintenance burden forever. Fit is good for a Symfony project already using atoum; acceptable for a polyglot monorepo with Symfony services.

Integration feasibility. Mechanically straightforward for a Symfony team, but gated by two hard platform requirements: PHP 8.2+ and Symfony 7.4 or 8.0+. The second is the sharp edge — it excludes Symfony 6.4 LTS, which is where most enterprise estates sit. The vendor rename (atoum/atoum-bundle → atoum-next/atoum-bundle) is a Composer package identity change, so there is no in-place composer update: composer.json, bundles.php registration, namespaces in config/packages/test/*.yaml, and CI/bootstrap scripts all need rewriting.

Technical risk. Low production risk — this is a dev/test dependency with no customer-facing blast radius. Medium-high ecosystem risk: the bundle now depends on atoum-next/atoum ^5.0, a community fork of a project that has been effectively dormant upstream. We are accepting fork-of-a-fork continuity risk in our test toolchain. The release notes carry a Co-Authored-By: Claude Sonnet 5 trailer with no named human reviewer, which for a major-version breaking release is a governance signal worth raising — not disqualifying, but the changelog should be read as primary source rather than trusting the summary.

Key questions.

  1. Is our target codebase Laravel or Symfony? If Laravel-only, this is out of scope and we should close it out.
  2. Who maintains atoum-next, what is the bus factor, and is there a stated support window?
  3. Does the CHANGELOG document behavioral changes in the test lifecycle hooks, or is the rename purely mechanical?
  4. Is Symfony 8.0 support tested in their CI, or declared? 8.0 is very new — treat that leg as unproven.
  5. Is there a PHPUnit interop/bridge story, or is atoum all-or-nothing?
  6. Are we already on PHP 8.2+ and Symfony 7.4/8.0, or does this force a platform upgrade we haven't funded?

Integration Approach

Stack fit. If the team is Laravel-only: no fit, no supported migration path, recommend decline. If we have Symfony services: this is a test-infrastructure swap, not an application change.

Migration path (two-step, non-negotiable ordering).

  1. Platform readiness — PHP 8.2+ and Symfony 7.4/8.0 already in place. This bundle cannot lead that upgrade; it can only follow it.
  2. Dependency and namespace swap — composer remove atoum/atoum-bundle, composer require --dev atoum-next/atoum-bundle ^5.0, update config/bundles.php to the new Bundle class, then rewrite namespaces across test config, bootstrap, and any custom helpers.

Compatibility checks. Grep the repo for the old vendor namespace before starting. Audit for other bundles pinned to Symfony 6.x, PHPUnit-based suites that would now coexist awkwardly, and static-analysis/tooling configs (PHPStan, Rector, paratest, CI allowlists) that reference the old package name. Also re-baseline SBOM and dependency-scanner allowlists — a package identity change looks like a brand-new dependency to security tooling.

Sequencing. Do this on a dedicated branch, never trunk. Test infrastructure failure blocks every other PR in flight. Land platform upgrade first, verify a green suite, then land the bundle swap as its own isolated change so failure attribution stays clean. Gate the Symfony 8.0 leg as non-blocking for the first cycle; prove 7.4 first.

If Laravel is genuinely the target: the only honest answer is that there is no supported integration. Any internal adapter becomes a permanently-owned artifact with no upstream to lean on.

Operational Impact

Maintenance. New vendor identity means Renovate/Dependabot rules, allowlists, and SBOM entries all need updating. Expect a one-time cleanup tail where stale namespace references survive in less-traveled CI lanes and fail silently on autoload.

Support and ownership. Upstream support is almost certainly GitHub issues only, with no commercial backing and a small maintainer group. Test tooling is chronically under-owned; assign a named owner explicitly rather than letting it default to "whoever touched CI last." Budget a small recurring engineering allocation (order of a few days per year) for patches or a locally vendored fork.

Scaling. No production scaling implications. CI cost does scale: Symfony 7.4/8.0 × PHP 8.2/8.3 multiplies matrix jobs, and the bundle becomes the binding constraint on our future Symfony upgrade cadence — we cannot move to Symfony 9 until they ship support.

Failure modes.

  • Abandonware — the fork stalls and blocks future PHP/Symfony upgrades. Mitigation: keep the test harness thin and standard so replacing it stays cheap; avoid deep investment in atoum-specific extensions.
  • Rename fallout — partial namespace migration that passes locally and fails in one CI lane.
  • Version lockstep — the bundle's narrow support window (7.4/8.0) becomes our upgrade ceiling.
  • AI-authored behavioral drift — subtle changes to test lifecycle behavior not surfaced in the release summary. Mitigation: read the actual CHANGELOG diff and diff the bundle's kernel hooks before merging.

Ramp-up. Low (roughly 1–2 engineer-days plus review) for a Symfony-fluent engineer who already knows atoum and Symfony test config. Medium for a Laravel-only team starting from zero — two unfamiliar frameworks at once, and no upstream docs targeted at them. Do not run this concurrently with a Symfony major upgrade; keep the two changes separable so a failure tells you which one caused it.

Recommendation. Decline for a Laravel-only estate — framework mismatch makes it a non-starter. For Symfony 7.4/8.0 services already on atoum, adopt on a branch with the 8.0 CI leg non-blocking, after confirming maintainer continuity and reading the CHANGELOG directly.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast