mehr-als-nix/assumptions
Assumptions for PHPUnit: skip tests when preconditions aren’t met (PHP version, extensions, etc.). Provides assumeTrue/assumeThat and Hamcrest matchers; failed assumptions are treated as skipped, including in @before/@beforeClass. Similar to @requires.
Architecture fit: Minimal. The package is a PHPUnit-specific testing utility that operates at the test layer, not core Laravel application architecture. It integrates as a dev dependency for test cases but doesn't interact with Laravel's framework components or routing.
Integration feasibility: Technically feasible via Composer but high friction. Requires strict PHP 7.1+ and PHPUnit ^7.0 compatibility, which conflicts with modern Laravel versions (e.g., Laravel 9+ uses PHPUnit 9/10). The package's Hamcrest dependency may also clash with Laravel's existing test tooling.
Technical risk: High. 6 years of inactivity (last release 2018), zero dependents, and outdated dependencies (e.g., roave/security-advisories:dev-master is obsolete). Unlikely to support PHP 8+ features or modern PHPUnit behaviors. Potential for silent test failures due to incompatibility.
Key questions: Does this package work with PHPUnit 9/10? Are there known issues with PHP 8.x? Why has it not been updated despite PHPUnit's major releases? Is the functionality redundant with native @requires annotations in current PHPUnit versions?
Stack fit: Only applicable to unit tests in Laravel's tests/ directory. No value for feature/browser tests (Dusk) or application logic. Would add negligible overhead but introduce dependency conflicts.
Migration path: High effort for minimal gain. Requires replacing @requires annotations with assume*() methods across all tests. Likely breaks with PHPUnit 9+ due to API changes (e.g., PHPUnit\Framework\TestCase evolution). No documented migration path exists.
Compatibility: Poor. Laravel 9+ requires PHP 8.0+, but the package's PHPUnit ^7.0 dependency is incompatible with PHPUnit 9/10 (which dropped legacy features). Hamcrest 2.x may conflict with Laravel's test environment.
Sequencing: Not recommended. Native @requires annotations in PHPUnit are more stable, better documented, and actively maintained. Avoid integration; use built-in PHPUnit features instead.
Maintenance: High burden. No active maintainers, no recent commits, and unresolved GitHub issues. Would require
How can I help you explore Laravel packages today?