Tests, code quality and code style¶
Every time changes are introduced into the library, Github Actions run the tests.
GitHub Actions uses a PHP quality tool, GrumPHP, to orchestrate all these tasks at each commit on the local machine, but also in GitHub actions.
This facilitate the job of the contributors, the command to run locally for the tests is the same as the one that are triggered on the continuous integration.
To run all the tests tasks locally, do
Here’s an example of output that shows all the tasks that are setup in GrumPHP and that will check your code
$ ./vendor/bin/grumphp run GrumPHP is sniffing your code! Running task 1/13: license... ✔ Running task 2/13: composer_require_checker... ✔ Running task 3/13: composer... ✔ Running task 4/13: composer_normalize... ✔ Running task 5/13: yamllint... ✔ Running task 6/13: jsonlint... ✔ Running task 7/13: phplint... ✔ Running task 8/13: twigcs... ✔ Running task 9/13: phpcsfixer... ✔ Running task 10/13: psalm... ✔ Running task 11/13: phpstan... ✔ Running task 12/13: phpunit... ✔ Running task 13/13: infection... ✔
Static analysis tests¶
To run the static-analysis tests only, do:
./vendor/bin/grumphp run --tasks=phpstan,psalm
Tests are written with PHPUnit and you can find the coverage percentage on a badge on the README file.
PHPInfection is also triggered used to ensure that your code is properly tested.
To run the unit tests only, do:
./vendor/bin/grumphp run --tasks=phpunit,infection
To run the code style tests only, do:
./vendor/bin/grumphp run --tasks=phpcsfixer
The check other files, we use Prettier. To run
Prettier across the whole
nix run nixpkgs#nodePackages.prettier --impure -- --write .