PHPackages                             toumoro/tm-qa-tools - 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. toumoro/tm-qa-tools

ActiveTypo3-cms-extension[Testing &amp; Quality](/categories/testing)

toumoro/tm-qa-tools
===================

Ships a list of tools that runs and manages automated functional and acceptance tests from the backend or CLI.

11.5k↓50%[5 issues](https://github.com/toumoro/tm_qa_tools/issues)TypeScript

Since Feb 25Pushed 2mo agoCompare

[ Source](https://github.com/toumoro/tm_qa_tools)[ Packagist](https://packagist.org/packages/toumoro/tm-qa-tools)[ RSS](/packages/toumoro-tm-qa-tools/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

FR
--

[](#fr)

tm\_qa\_tools -- Boîte à outils d’assurance qualité TYPO3
=========================================================

[](#tm_qa_tools----boîte-à-outils-dassurance-qualité-typo3)

Un ensemble d'outils permettant d'automatiser la phase d'assurance qualité et d'appliquer les standards de codage dans les projets TYPO3.

Prérequis
---------

[](#prérequis)

Assurez-vous que ces variables d’environnement sont définies :

- `typo3DatabaseUsername`
- `typo3DatabasePassword`
- `typo3DatabaseHost`
- `typo3DatabaseName`

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

[](#installation)

```
composer req toumoro/tm-qa-tools --dev
```

Ensuite, ajoutez ces scripts dans le fichier `composer.json` de votre projet :

```
"scripts": {
    "qa-tools-scripts": [
        "chmod +x vendor/toumoro/tm-qa-tools/services/configure.sh",
        "vendor/toumoro/tm-qa-tools/services/configure.sh"
    ],
    "ci:php": [
        "@ci:php:cs",
        "@ci:php:lint",
        "@ci:php:stan",
        "@ci:php:unit"
    ],
    "fix:php": [
        "@fix:php:rector",
        "@fix:php:cs"
    ],
    "ci:setup": [
        "@qa-tools-scripts",
    ],
    "ci:php:cs": "php-cs-fixer fix --config=build/php-cs-fixer/php-cs-fixer.php -v --dry-run --using-cache no --diff",
    "ci:php:lint": "parallel-lint --show-deprecated --exclude vendor ./packages",
    "ci:php:stan": "phpstan analyse --ansi --no-progress --configuration=build/phpstan/phpstan.neon",
    "ci:lint:typoscript": "typoscript-lint ./packages --ansi -n --fail-on-warnings",
    "ci:lint:xml": "xmllint packages --pattern '*.xlf,*.svg' --ansi",
    "ci:lint:yaml": "yaml-lint packages/**/Configuration/*.yaml",
    "ci:php:unit": "phpunit -c ./build/phpunit/UnitTests.xml",
    "fix:php:cs": "php-cs-fixer fix --config=build/php-cs-fixer/php-cs-fixer.php",
    "fix:php:rector": [
        "rector process --clear-cache"
    ]
}
```

Puis mettez à jour le fichier `.gitignore` :

```
.php-cs-fixer.cache
/build/phpunit/.phpunit.result.cache
```

---

Exemple d’utilisation
---------------------

[](#exemple-dutilisation)

### Installation dans un projet

[](#installation-dans-un-projet)

```
composer ci:setup
```

### Analyser le code PHP pour détecter les problèmes de style et erreurs

[](#analyser-le-code-php-pour-détecter-les-problèmes-de-style-et-erreurs)

```
composer ci:lint:typoscript
```

### Corriger le code PHP (appliquer les standards de codage)

[](#corriger-le-code-php-appliquer-les-standards-de-codage)

```
composer fix:php
```

### Vérifier le code TypoScript

[](#vérifier-le-code-typoscript)

```
composer ci:lint:typoscript
```

### Lancer tous les tests avec le script dédié

[](#lancer-tous-les-tests-avec-le-script-dédié)

```
chmod +x ./build/Scripts/runTests.sh

# Lancer tous les tests
./build/scripts/runTests.sh -p 8.2

# Lancer un test spécifique
./build/scripts/runTests.sh -p 8.2 -- --filter PageActionsTest
```

---

Tests UI avec Playwright
------------------------

[](#tests-ui-avec-playwright)

Les tests Playwright sont disponibles sous le domaine : `playwright-${YOUR_DOMAIN}`

---

Extensibilité
-------------

[](#extensibilité)

Pour les tests fonctionnels, vous pouvez ajouter un chemin personnalisé vers un fichier de fixtures et le configurer via l’option d’extension `fixturesPath`.

Pour les tests Playwright, vous pouvez ajouter vos tests personnalisés dans une extension existante ou dans une nouvelle. Il est essentiel d’ajouter le chemin du dossier de tests à votre fichier `docker-compose-cloud.yml` afin de garantir leur bonne exécution.

---

EN
--

[](#en)

tm\_qa\_tools -- TYPO3 Quality Assurance Toolkit
================================================

[](#tm_qa_tools----typo3-quality-assurance-toolkit)

A set of tools to automate quality checks and enforce coding standards for TYPO3 projects.

Requirements
------------

[](#requirements)

Make sure these environment variables are set:

- `typo3DatabaseUsername`
- `typo3DatabasePassword`
- `typo3DatabaseHost`
- `typo3DatabaseName`

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

[](#installation-1)

```
composer req toumoro/tm-qa-tools --dev
```

Then add these scripts to your project's `composer.json` file:

```
"scripts": {
    "qa-tools-scripts": [
        "chmod +x vendor/toumoro/tm-qa-tools/services/configure.sh",
        "vendor/toumoro/tm-qa-tools/services/configure.sh"
    ],
    "ci:php": [
        "@ci:php:cs",
        "@ci:php:lint",
        "@ci:php:stan",
        "@ci:php:unit"
    ],
    "fix:php": [
        "@fix:php:rector",
        "@fix:php:cs"
    ],
    "ci:setup": [
        "@qa-tools-scripts",
    ],
    "ci:php:cs": "php-cs-fixer fix --config=build/php-cs-fixer/php-cs-fixer.php -v --dry-run --using-cache no --diff",
    "ci:php:lint": "parallel-lint --show-deprecated --exclude vendor ./packages",
    "ci:php:stan": "phpstan analyse --ansi --no-progress --configuration=build/phpstan/phpstan.neon",
    "ci:lint:typoscript": "typoscript-lint ./packages --ansi -n --fail-on-warnings",
    "ci:lint:xml": "xmllint packages --pattern '*.xlf,*.svg' --ansi",
    "ci:lint:yaml": "yaml-lint packages/**/Configuration/*.yaml",
    "ci:php:unit": "phpunit -c ./build/phpunit/UnitTests.xml",
    "fix:php:cs": "php-cs-fixer fix --config=build/php-cs-fixer/php-cs-fixer.php",
    "fix:php:rector": [
        "rector process --clear-cache"
    ]
}
```

Then update `.gitignore` file:

```
# ....

.php-cs-fixer.cache
/build/phpunit/.phpunit.result.cache
```

---

Example Usage
-------------

[](#example-usage)

Install in a project
====================

[](#install-in-a-project)

```
composer ci:setup
```

Analyze PHP code for style issues and errors
============================================

[](#analyze-php-code-for-style-issues-and-errors)

```
composer ci:lint:typoscript
```

Fix PHP code (Apply coding standards)
=====================================

[](#fix-php-code-apply-coding-standards)

```
composer fix:php
```

Check TypoScript code for errors
================================

[](#check-typoscript-code-for-errors)

```
composer ci:lint:typoscript
```

Run all tests using the command:

```
chmod +x ./build/Scripts/runTests.sh

# Run all
./build/scripts/runTests.sh -p 8.2 -d mysql

# Run a specific test
./build/scripts/runTests.sh -p 8.2 -d mysql -- --filter PageActionsTest
```

---

Tests UI avec Playwright
------------------------

[](#tests-ui-avec-playwright-1)

Playwright tests are available under `playwright-${YOUR_DOMAIN}`.

---

Extensibility
-------------

[](#extensibility)

For functional tests, you can add a custom fixtures file path and then configure it under the extension configuration setting `fixturesPath`.

For Playwright tests, you can add your custom tests in an existing extension or in a new one. It's essential to add the tests folder path to your `docker-compose-cloud.yml` file to ensure they are properly executed.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 88.7% of commits — single point of failure

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ded88026dc7bfd3d5a42cd486830ba428b8e2cc3cf0c9835fbcf25e6f9a61483?d=identicon)[tm\_souellet](/maintainers/tm_souellet)

![](https://www.gravatar.com/avatar/e74a2ef1f9ad7854090fee38c884708070dc9c7ad20c4751c989550e73e95b05?d=identicon)[tm-lmathieu](/maintainers/tm-lmathieu)

![](https://www.gravatar.com/avatar/f23ec0cffa408a37e7e57dbf28cfbe38c87d3126eb1724374e5ae6bd2ff05c36?d=identicon)[mehdiguermazi](/maintainers/mehdiguermazi)

![](https://www.gravatar.com/avatar/e5afd527e382f2e9d4a0800389ae6da071148327f21afb1e1f8b529abec45285?d=identicon)[tm-hdaoud](/maintainers/tm-hdaoud)

---

Top Contributors

[![tm-hdaoud](https://avatars.githubusercontent.com/u/211350868?v=4)](https://github.com/tm-hdaoud "tm-hdaoud (55 commits)")[![tmmschmit](https://avatars.githubusercontent.com/u/60105862?v=4)](https://github.com/tmmschmit "tmmschmit (3 commits)")[![simouel](https://avatars.githubusercontent.com/u/56318224?v=4)](https://github.com/simouel "simouel (2 commits)")[![Simz](https://avatars.githubusercontent.com/u/456843?v=4)](https://github.com/Simz "Simz (2 commits)")

### Embed Badge

![Health badge](/badges/toumoro-tm-qa-tools/health.svg)

```
[![Health](https://phpackages.com/badges/toumoro-tm-qa-tools/health.svg)](https://phpackages.com/packages/toumoro-tm-qa-tools)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

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