youwe / testing-suite
Contains Youwe's default testing packages for php.
Installs: 149 132
Dependents: 13
Suggesters: 0
Security: 0
Stars: 13
Watchers: 0
Forks: 11
Open Issues: 3
Type:composer-plugin
Requires
- php: ^8.1
- composer-plugin-api: ^2.0
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- enlightn/security-checker: ^1.5 || ^2.0
- kint-php/kint: @stable
- php-parallel-lint/php-parallel-lint: ^1.4
- phpmd/phpmd: ^2.15
- phpro/grumphp-shim: ^2.12
- phpstan/phpstan: @stable
- squizlabs/php_codesniffer: ^3.12.0
- youwe/composer-dependency-installer: ^2.0
- youwe/composer-file-installer: ^1.2.0
Requires (Dev)
- composer/composer: @stable
- mikey179/vfsstream: @stable
- phpunit/phpunit: @stable
Suggests
- phpunit/phpunit: >= 9.6
- youwe/coding-standard-phpstorm: ^2.3.0
Replaces
- dev-master
- 3.0.0-rc1
- 2.19.1
- 2.19.0
- 2.18.1
- 2.18.0
- 2.17.1
- 2.17.0
- 2.16.2
- 2.16.1
- 2.16.0
- 2.15.0
- 2.15.0-RC1
- 2.14.0
- 2.14.0-RC1
- 2.13.1
- 2.13.0
- 2.13-RC1
- 2.12.0
- 2.11.1
- 2.11.0
- 2.10.0
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.25.2
- 1.25.2-beta1
- 1.25.1
- 1.25.0
- 1.24.0
- 1.23.1
- 1.23.0
- 1.22.0
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
- 1.21.0
- 1.20.2
- 1.20.1
- 1.20.0
- 1.19.1
- 1.19.0
- 1.18.0
- 1.17.1
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.0
- 1.12.1
- 1.12.0
- 1.11.1
- 1.11.0
- 1.10.0
- 1.9.2
- 1.9.1
- 1.9.0
- 1.8.0
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feat/drupal-standards
- dev-feature/security-issues-non-blocking
- dev-feature/OTDEVOPS-15-Add-snapshot-functionality
- dev-feature/OTDEVOPS-18-coding-standards
- dev-feature/phpro-grumphp-shim
- dev-feature/fix-pathing
- dev-feature/OTPBBBBBZP-117
- dev-feature/dev-stability
- dev-support/1.x
- dev-feature/APD-1508
- dev-feature/mysql-8-php-74
- dev-feature/composer-2-compatibility
- dev-feature/support-symfony-4x
- dev-feature/support-composer-v2
- dev-feature/allow-phpunit-9x
- dev-feature/enable-symfony-5x
This package is auto-updated.
Last update: 2025-08-11 13:10:04 UTC
README
Youwe Testing Suite
Introduction
Youwe Testing Suite is an all-in-one solution for doing static code analysis on composer packages/projects. It does so both locally and in CI/CD. For this, Testing-suite leverages GrumPHP with predefined default configurations per project type.
Features
Supported project types
The Youwe Testing Suites offers pre-configured standards for the following project types.
Testing Suite Project Type | Detected based on Composer Project Type |
---|---|
drupal |
drupal-bundle , drupal-project |
magento2 |
magento-module , magento-project , magento2-module , magento2-project |
pimcore |
pimcore-bundle , pimcore-project |
default |
Any other |
This project type is either detected from composer.json
via the section
{ "extra": { "youwe-testing-suite": { "type": "magento2" } } }
or if no explicit setting was found for the Testing Suite, via
{ "type": "magento2-module" }
Included analysis tools
- Git blacklist
- Composer file validation
- JSON Lint
- YamlLint
- PHPCS (Coding Standards)
- PHPMD (Mess Detector)
- PHPStan (Find bugs before they reach production)
- PHPUnit (Execute Unit tests)
- PHP Lint
- ESLint (Find and fix problems in your JavaScript code)
- Enlighten Security Checker
Installation
First, configure your project type (see the above list of supported types) via
composer config type magento2-project
or
composer config extra.youwe-testing-suite.type magento2
Testing suite is supposed to be installed as a composer dev
dependency.
Within any project just run the command below to install the package:
composer require youwe/testing-suite --dev
If a project-type is detected, standards will be applied (otherwise a wizard will be opened)
Usage
Locally
The testing suite can be run manually through the GrumPHP command.
vendor/bin/grumphp run
or for DDev projects
ddev exec vendor/bin/grumphp run
Git commit hook
The testing suite is automatically run at each git commit using a git commit hook.
This git commit hook will automatically detect DDev projects and will run GrumPHP within the DDev container if needed. This behaviour can be disabled:
- on individual basis via an environment variable:
YOUWE_BYPASS_DDEV=1 git commit
- on project basis via the
grumphp.yml
configuration file:
imports:
- resource: 'vendor/youwe/testing-suite/config/your-project-type/grumphp.yml'
grumphp:
git_hook_variables:
# Disable DDev detection by restoring to default `exec`
# See https://github.com/phpro/grumphp/blob/v2.x/doc/parameters.md for more options
EXEC_GRUMPHP_COMMAND: exec
After changing your grumphp.yml
, run vendor/bin/grumphp git:init
to update the git commit hook.
CI/CD Integration examples
Changelog
See the Changelog file for all changes.