forged-collections / contracts
v0.2.1
2024-12-15 11:06 UTC
Requires
- php: ^8.2
Requires (Dev)
- phpspec/prophecy-phpunit: ^2.2
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^11.4
README
Contracts for all ForgedCollections datastructures.
Dependencies
TODO
Installation
composer require forged-collections/contracts
Usage
TODO
Testing
Testing is performed by PhpUnit and run in Docker containers, one for each supported version of PHP.
To run all tests for all PHP versions:
docker compose --profile=phpunit up
That command tests all PHP version in parallel, which can make understanding the test output difficult. To work around this run them individually (or see Test Reports):
# Run PHP 8.3 test only
docker compose --profile=phpunit up phpunit83
Test reports
Multiple reports are written for each PHP version.
/build/<php-version>/testdox.txt
: Human friendly plaintext report of passed/failing tests../build/<php-version>/testdox.html
: As above, but formatted with HTML../build/<php-version>/coverage
: Project's test coverage report in HTML./build/<php-version>/compose.lock
: Copy of composer's lock file for local replication and debugging.
You can also see the test runners actual output with the command:
docker compose --profile=phpunit logs <container>
For example to see the output from PHP 8.3
docker compose --profile=phpunit logs phpunit83
Debugging tests
TODO