bab / tested-routes-checker-bundle
A bundle to ensure all routes of a Symfony application have been tested
Installs: 1 353
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/bab/tested-routes-checker-bundle
Requires
- php: ^8.2
- symfony/config: ^6.4|^7.3|^8.0
- symfony/console: ^6.4|^7.3|^8.0
- symfony/dependency-injection: ^6.4|^7.3|^8.0
- symfony/http-kernel: ^6.4|^7.3|^8.0
- symfony/routing: ^6.4|^7.3|^8.0
Requires (Dev)
- phpunit/phpunit: ^9.6
- symfony/framework-bundle: ^6.4|^7.3|^8.0
- symfony/phpunit-bridge: ^8.0
This package is auto-updated.
Last update: 2026-02-02 18:57:37 UTC
README
A bundle to ensure all routes of a Symfony application have been tested.
Note
This bundle was originally hosted on Tiime-Software organisation. Given the lack of maintenance (see this PR & this one), I decided to create an independant repository in order to give to this project the love it deserves. ♥️
How it works?
- Launch your tests using PHPUnit or anything else. All called routes will be stored in
var/cache/bab_tested_routes_checker_bundle_route_storage. - Run
php bin/console bab:tested-routes-checker:checkto have a small report of what's tested and what's not!
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
composer require --dev bab/tested-routes-checker-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require --dev bab/tested-routes-checker-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php file of your project:
// config/bundles.php return [ // ... Bab\TestedRoutesCheckerBundle\BabTestedRoutesCheckerBundle::class => ['dev' => true, 'test' => true], ];
Configuring your CI
Github actions
If you're using Github actions, simply add the following step to your existing test job:
name: Tests jobs: tests: steps: # Do your stuff # - ... # Ensure no new untested route have been introduced - name: Run Bab/TestedRoutesCheckerBundle run: bin/console bab:tested-routes-checker:check
View a fully working example in altercampagne/eventoj repository.
If you have several jobs to run all your tests, that's not a problem! 👌
- Upload an artifact containing all tested routes after each of your job
jobs: tests: steps: # Do your stuff # - ... - name: Save tested routes uses: actions/upload-artifact@v4 with: name: tested-routes-${{ inputs.any-relevant-discriminent }} path: var/cache/bab_tested_routes_checker_bundle_route_storage
- Run a new job at the end to concatenate all files & run the command
jobs: tested-routes-checker: name: Check tested routes needs: [your_tests_job] steps: # Install the project # - ... - name: Download All Artifacts uses: actions/download-artifact@v4 with: path: tested-routes pattern: tested-routes-* - name: Create var/cache directory to put tested routes files inside shell: bash run: mkdir -p var/cache - name: Merge all tested routes files shell: bash run: cat tested-routes/tested-routes-*/bab_tested_routes_checker_bundle_route_storage > var/cache/bab_tested_routes_checker_bundle_route_storage - name: Check tested routes shell: bash run: php bin/console bab:tested-routes-checker:check
Using baseline to ignore some routes
You can ignore some routes with a .bab-trc-baseline file with 1 route per line.