- What is hoa/test and what is it used for?
- hoa/test is the testing toolkit for the Hoa PHP libraries. It wraps atoum and provides reusable unit-test base classes plus a BDD-style given, when, then workflow for behavior-focused tests across Hoa components. It is a self-contained test framework, not an application library.
- Does hoa/test work with Laravel?
- No. hoa/test exposes no Laravel service provider, facade, config file, or Artisan command, and it has no PHPUnit bridge. It occupies the same architectural slot as PHPUnit and Pest, so it competes with Laravel's native testing stack rather than complementing it. For a Laravel application there is effectively no runtime or test-time integration surface.
- How do I install hoa/test with Composer?
- You can install it with Composer as a require-dev dependency, but that pulls in roughly a dozen parallel hoa/* packages such as consistency, stream, protocol, iterator, file, regex, math, zformat, and ustring. None of that code is shared with Laravel, Symfony, or PSR interfaces. For a modern Laravel project, installing it is not recommended because the abandoned dependency graph will enter your composer.lock.
- Which Laravel and PHP versions does hoa/test support?
- hoa/test declares a PHP constraint aimed at the PHP 5.5 to 7.x era and has no Laravel version support. On PHP 8.1 and newer there is a strong likelihood of fatal errors from removed functions, dynamic-property deprecations, and reflection signature changes. For Laravel 10 or 11 targets on PHP 8.1+, treat it as a non-fit.
- Is hoa/test a good alternative to PHPUnit or Pest for Laravel?
- No. The idiomatic Laravel replacement is PHPUnit 10 or 11 plus Pest 2 or 3, Illuminate Foundation Testing for HTTP, database, and queue fakes, and Collision for CLI output. Nothing in hoa/test fills a gap that stack leaves open. Use PHPUnit or Pest for all new Laravel tests.
- Can I run hoa/test with php artisan test or in Laravel CI?
- No. hoa/test has its own runner, hoa test:run, and does not integrate with php artisan test. It provides no JUnit XML output, no coverage driver integration, no PhpStorm or VS Code runner support, and no way to express Laravel testing concerns such as RefreshDatabase, Http::fake, Bus::fake, or actingAs. CI would require a second, separate test invocation with a second reporting path.
- Is hoa/test still maintained?
- No, it is not maintained. The repository is archived, the last release was 2017-08-18, and it has 11 stars and 0 dependents. There is no maintainer, no CVE response process, and no community knowledge base. Any use requires accepting abandoned-package risk.
- What dependencies does hoa/test pull into a Composer project?
- Installing it drags in a parallel utility universe of roughly a dozen hoa/* packages, including consistency, stream, protocol, iterator, file, regex, math, zformat, ustring, and transitive peers. These abandoned transitive dependencies create Composer 2 resolution conflicts and will trip composer audit or abandoned-package gates in most modern pipelines. That is why it should never enter a Laravel application's composer.lock.
- How do I migrate existing hoa/test BDD tests to PHPUnit or Pest?
- Start with an inventory: grep for Hoa Test, hoa test:run, vendor/bin/hoa, and test files that do not follow PHPUnit's Test.php naming convention. Freeze new Hoa-style tests immediately, then quarantine legacy suites in a separate Composer project pinned to a PHP 7.4 CI image if they must be preserved. Transcode the assertions, since assertSame, assertTrue, assertInstanceOf, and exception expectations map cleanly to PHPUnit, and Hoa suite and operation constructs become PHPUnit test classes plus data providers. Run legacy and converted suites in parallel for one full cycle, require identical pass/fail sets, then remove hoa/test and all transitive hoa packages and verify with a clean composer install and audit run.
- Could hoa/test break production if I add it to a Laravel app?
- The mitigating factor is scope: it is dev-only, so a breakage cannot take down production. It can, however, take down CI, because the abandoned dependency graph and PHP 8 incompatibilities may break the build. Keep it out of the application's composer.lock and, if legacy Hoa tests must run, isolate them in a quarantined job or separate project.