samcday/phpstan-junit

PHPStan JUnit error reporter

0.2.0 2019-06-12 19:30 UTC

This package is auto-updated.

Last update: 2025-08-15 02:07:06 UTC


README

License Coverage Status

Packagist Packagist Packagist Packagist

The main scope for this project is to create error report in JUnit format that can be easly integrated in Jenkins or other tools that use this information.

How to use it

Install

You need to include this library in your project as dev-dependency, it dependes on the version of phpstan you're using you should use a different version of mavimo/phpstan-junit library.

PHPStan 0.10

You need to require the version 0.1.0 of this package:

composer require --dev mavimo/phpstan-junit:~0.1.0

You should require this extension on phpstan.neon file in the root of your project or the file you specify to phpstan using the --config flag by referencing extension.neon file:

includes:
    - vendor/mavimo/phpstan-junit/phpstan.neon

or declaring the service via:

services:
    errorFormatter.junit:
        class: Mavimo\PHPStan\ErrorFormatter\JunitErrorFormatter

PHPStan 0.11

The current version is not marked as stable (should be in some week), so you need to pull the version from master:

composer require --dev mavimo/phpstan-junit:~0.2.0

If you also install phpstan/extension-installer then you're all set; if you don't want to use phpstan/extension-installer, you should require the extension.neon file on your phpstan.neon.dist file in the root of your project (or on the file you specify to phpstan using the --config flag):

includes:
    - vendor/mavimo/phpstan-junit/extension.neon

or declaring the service via:

services:
    errorFormatter.junit:
        class: Mavimo\PHPStan\ErrorFormatter\JunitErrorFormatter

Generate JUnit report

You should gnerate JUnit report with the flag --error-format=junit, eg:

vendor/bin/phpstan --configuration=phpstan.neon --error-format=junit --level=7 --no-progress --no-interaction analyse SOURCE_CODE_DIR

Contributing

Contributions are welcome!

PR's will be merged only if:

  • phpunit is ✅, you can run it using vendor/bin/phpunit
  • phpstan is ✅, you can run it using vendor/bin/phpstan analyse
  • phpcs is ✅, you can run it using vendor/bin/phpcs
  • code coverage will not decrease (or there are good reason to decrease it), you can check the current coverage using phpdbg -qrr ./vendor/bin/phpunit --coverage-text

If you have any question feel free to open a issue or contact me!