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 Laravel Package

mageekguy/atoum

atoum is a modern, standalone PHP unit testing framework with an expressive assertion API, built-in mocking, code coverage, and clear reports. Its simple, intuitive DSL and fluent syntax help developers write and run tests quickly, making PHP testing more enjoyable, readable, and less verbose.

Deep Wiki
Context7

The root and a fork of atoum, the modern, simple and intuitive PHP 5.3+ unit testing framework.

Frequently asked questions about Atoum
What is mageekguy/atoum, and does it integrate with Laravel?
mageekguy/atoum is a fork of atoum, a standalone PHP unit testing framework with its own runner, fluent assertion API, built-in mocking, and code coverage. It is not a Laravel integration package: it does not extend PHPUnit's TestCase, so Laravel's testing helpers, facade mocking, and artisan test are unavailable. Treat it as a parallel framework, not a drop-in Laravel testing tool.
Can I use atoum to test a Laravel application?
Only in a limited way. atoum can cover framework-free domain and value-object tests, or you can build a custom bootstrap to stand up the Laravel container outside atoum's lifecycle. It cannot provide RefreshDatabase, HTTP or console assertions, factories, or facade mocking without net-new engineering. For most Laravel teams the value is low.
How do I install mageekguy/atoum with Composer?
Install it as a require-dev dependency or use its phar, then run atoum in a separate Composer script or CI job. It can run alongside PHPUnit, but the two suites will not share fixtures, database transactions, or factories. Do not assume it can replace Laravel's existing test runner.
Does atoum support Laravel 10 and Laravel 11?
Support is unproven. The description advertises PHP 5.3+, which predates PHP 7, while Laravel 10 and 11 require PHP 8.1+. Compatibility with PHP 8.1 through 8.3 must be tested on a throwaway branch before any pilot, and the fork's provenance makes patch support uncertain.
Is atoum a replacement for PHPUnit or Pest in Laravel?
No. Laravel's testing surface and artisan test are built on PHPUnit contracts, and atoum's test class does not extend PHPUnit's TestCase. There is no meaningful path to make atoum a first-class Laravel test runner, and its parallel execution will not coordinate with RefreshDatabase transactions or Pest's parallel database strategy.
What license does mageekguy/atoum use, and is it safe for production?
The license is reported as NOASSERTION, meaning tooling could not identify a recognized license file. Whether it is a permissive license with the file stripped or a bespoke grant, it is a legal blocker until counsel confirms the actual terms. Do not ship it to production on an unverified license.
How does atoum's assertion and mocking API compare to PHPUnit?
atoum offers an expressive, fluent DSL with built-in mocking and clear reports, which can make tests readable and less verbose. Its API differs from PHPUnit and Pest, so IDE and static-analysis support diverge over time. Simple assertions map mechanically, for example $this->string($x)->isEqualTo('y') becomes assertSame('y', $x) in PHPUnit.
Can atoum run in parallel with PHPUnit in a Laravel CI pipeline?
Yes, but only as a separate CI job. The suites will not share fixtures, database transactions, or factories, and atoum's process-forking parallelism will not coordinate with RefreshDatabase or Laravel's tooling. Test isolation would have to be hand-rolled, which adds maintenance cost for little product differentiation.
Is mageekguy/atoum actively maintained?
The package is described as the root and a fork of atoum with an unknown repository and only 11 stars, which suggests a detached or abandoned lineage rather than the canonical project. Patch supply and security backports are effectively unowned. Ask who the maintainer is and check the commit cadence over the last 12 months before relying on it.
What should I do with existing atoum tests in a Laravel project?
Migrate them assertion by assertion to PHPUnit or Pest. atoum's fluent syntax maps mechanically to standard assertions, so use assertSame and related PHPUnit methods rather than introducing a parallel runner. If a pilot is mandated, timebox it to two sprints and keep the PHPUnit job in CI; otherwise reject the evaluation and standardize on PHPUnit or Pest.
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.
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle