Tests, code quality and code style

Local development

Follow the procedure described in the Configuration page to setup a local development environment.

Workflow

Every time changes are introduced into the library, Github Actions run the tests written with Behat.

The code style is based on PSR-12 plus a set of custom rules. Find more about the code style in use in the package drupol/php-conventions.

A PHP quality tool, Grumphp, is used to orchestrate all these tasks at each commit on the local machine, but also on the continuous integration tools.

To run the whole tests tasks locally, do

./vendor/bin/grumphp run

Here’s an example of output that shows all the tasks that are setup in Grumphp and that will check your project.

./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: ComposerNormalize... ✔
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: Phpcs... ✔
Running task 11/13: PhpStan... ✔
Running task 12/13: Psalm... ✔
Running task 13/13: Behat...