PHPackages                             youwe/testing-suite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. youwe/testing-suite

ActiveComposer-plugin[Testing &amp; Quality](/categories/testing)

youwe/testing-suite
===================

Contains Youwe's default testing packages for php.

3.0.5(2mo ago)13186.2k↓34%11[3 PRs](https://github.com/YouweGit/testing-suite/pulls)8MITPHPPHP ^8.1CI failing

Since Mar 24Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/YouweGit/testing-suite)[ Packagist](https://packagist.org/packages/youwe/testing-suite)[ RSS](/packages/youwe-testing-suite/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (45)Versions (129)Used By (8)

[![Scrutinizer Code Quality](https://camo.githubusercontent.com/a37c558c8dcf9277e9c020b20396b068e4c48679dace07bdfb37108198c8f6d7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d6564696163742f74657374696e672d73756974652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/mediact/testing-suite/?branch=master)

Youwe Testing Suite
===================

[](#youwe-testing-suite)

Introduction
------------

[](#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](https://github.com/phpro/grumphp) with predefined default configurations per project type.

Features
--------

[](#features)

- [Project Type detector](docs/features/project-type-detection.md)
- [PHP storm configuration](docs/features/php-storm-integration.md)

Supported project types
-----------------------

[](#supported-project-types)

The Youwe Testing Suites offers pre-configured standards for the following project types.

Testing Suite Project TypeDetected 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 otherThis 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
-----------------------

[](#included-analysis-tools)

- [Git blacklist](docs/components/git-blacklist.md)
- [Git commit message](docs/components/git-commit-message.md)
- [Composer file validation](docs/components/composer.md)
- [JSON Lint](docs/components/jsonlint.md)
- [YamlLint](docs/components/yamllint.md)
- [PHPCS (Coding Standards)](docs/components/phpcs.md)
- [PHPMD (Mess Detector)](docs/components/phpmd.md)
- [PHPStan (Find bugs before they reach production)](docs/components/phpstan.md)
- [PHPUnit (Execute Unit tests)](docs/components/phpunit.md)
- [PHP Lint](docs/components/phplint.md)
- [ESLint (Find and fix problems in your JavaScript code)](docs/components/eslint.md)
- [Enlighten Security Checker](docs/components/security-checker.md)

Installation
------------

[](#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
-----

[](#usage)

### Locally

[](#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

[](#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

[](#cicd-integration-examples)

- [Bitbucket Pipelines](docs/examples/bitbucket-pipelines.md)
- [GitHub Actions](docs/examples/github-actions.md)

Changelog
---------

[](#changelog)

See the [Changelog](CHANGELOG.md) file for all changes.

###  Health Score

66

—

FairBetter than 99% of packages

Maintenance86

Actively maintained with recent releases

Popularity43

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity89

Battle-tested with a long release history

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Recently: every ~11 days

Total

109

Last Release

70d ago

Major Versions

1.25.0 → 2.0.02020-06-08

1.25.1 → 2.0.12020-06-09

1.25.2 → 2.10.02022-03-28

2.19.1 → 3.0.0-rc12025-07-29

PHP version history (6 changes)1.0.0PHP ^5.6.0 || ^7.0

1.1.0PHP ^7.0

1.12.0PHP ^7.1

2.10.0PHP ^7.2

2.12.0PHP ^7.2 || ^8.0

3.0.0-rc1PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/127846219?v=4)[Youwe Agency](/maintainers/youweagency)[@YouweAgency](https://github.com/YouweAgency)

---

Top Contributors

[![youwe-petervanderwal](https://avatars.githubusercontent.com/u/60703382?v=4)](https://github.com/youwe-petervanderwal "youwe-petervanderwal (40 commits)")[![l-helmus-youwe](https://avatars.githubusercontent.com/u/211521009?v=4)](https://github.com/l-helmus-youwe "l-helmus-youwe (30 commits)")[![leonhelmus](https://avatars.githubusercontent.com/u/18070887?v=4)](https://github.com/leonhelmus "leonhelmus (24 commits)")[![ashokadewit](https://avatars.githubusercontent.com/u/45412158?v=4)](https://github.com/ashokadewit "ashokadewit (24 commits)")[![marcelmediact](https://avatars.githubusercontent.com/u/32926910?v=4)](https://github.com/marcelmediact "marcelmediact (19 commits)")[![rutgerrademaker](https://avatars.githubusercontent.com/u/912316?v=4)](https://github.com/rutgerrademaker "rutgerrademaker (13 commits)")[![Anve94](https://avatars.githubusercontent.com/u/1343963?v=4)](https://github.com/Anve94 "Anve94 (8 commits)")[![arnoudhgz](https://avatars.githubusercontent.com/u/10864061?v=4)](https://github.com/arnoudhgz "arnoudhgz (6 commits)")[![igorwulff](https://avatars.githubusercontent.com/u/5222424?v=4)](https://github.com/igorwulff "igorwulff (4 commits)")[![ksangers](https://avatars.githubusercontent.com/u/1464877?v=4)](https://github.com/ksangers "ksangers (4 commits)")[![vssr](https://avatars.githubusercontent.com/u/912625?v=4)](https://github.com/vssr "vssr (3 commits)")[![michielfb](https://avatars.githubusercontent.com/u/3659033?v=4)](https://github.com/michielfb "michielfb (2 commits)")[![youwe-erik](https://avatars.githubusercontent.com/u/170527139?v=4)](https://github.com/youwe-erik "youwe-erik (1 commits)")[![youwe-jeanmattar](https://avatars.githubusercontent.com/u/242592727?v=4)](https://github.com/youwe-jeanmattar "youwe-jeanmattar (1 commits)")[![CyberSecutor](https://avatars.githubusercontent.com/u/843685?v=4)](https://github.com/CyberSecutor "CyberSecutor (1 commits)")[![ahuininga](https://avatars.githubusercontent.com/u/1645361?v=4)](https://github.com/ahuininga "ahuininga (1 commits)")[![ArjenMiedema](https://avatars.githubusercontent.com/u/4620826?v=4)](https://github.com/ArjenMiedema "ArjenMiedema (1 commits)")[![kjkooistra-youwe](https://avatars.githubusercontent.com/u/24292941?v=4)](https://github.com/kjkooistra-youwe "kjkooistra-youwe (1 commits)")[![sjokki](https://avatars.githubusercontent.com/u/2527109?v=4)](https://github.com/sjokki "sjokki (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/youwe-testing-suite/health.svg)

```
[![Health](https://phpackages.com/badges/youwe-testing-suite/health.svg)](https://phpackages.com/packages/youwe-testing-suite)
```

###  Alternatives

[wp-cli/wp-cli-tests

WP-CLI testing framework

423.0M129](/packages/wp-cli-wp-cli-tests)[slevomat/coding-standard

Slevomat Coding Standard for PHP\_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.

1.5k130.4M2.1k](/packages/slevomat-coding-standard)[axelerant/drupal-quality-checker

Code quality checking tools for Drupal project.

13200.9k1](/packages/axelerant-drupal-quality-checker)[acquia/orca

A tool for testing a company's software packages together in the context of a realistic, functioning, best practices Drupal build

30914.4k](/packages/acquia-orca)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
