What Means: "Your Xml Configuration Validates Against a Deprecated Schema. Migrate Your Xml Configuration Using "--Migrate-Configuration"!"

I have included PHPUnit in a test vanilla PHP project and when I start the test with vendor/bin/phpunit I get the following error message:

Your XML configuration validates against a deprecated schema. Migrate your XML configuration using "--migrate-configuration"!

Question: What does this error message mean and what do I have to do to avoid it?

My phpunit.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi=""
         xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true"
         stopOnFailure="true"
>
    <testsuites>
        <testsuite name="Unit">
            <directory suffix="Test.php">./tests/Unit</directory>
        </testsuite>
    </testsuites>
</phpunit>

I using phpunit 10

    "require-dev": {
        "phpunit/phpunit": "^10.0"
    }

4 Answers

Run vendor/bin/phpunit --migrate-configuration

1

If you have upgraded to Laravel10, according to Laravel website, you should do this:

if you wish to use PHPUnit 10, you should delete the processUncoveredFiles attribute from the <coverage> section of your application's phpunit.xml configuration file. Then, update the following dependencies in your application's composer.json file:

nunomaduro/collision to ^7.0

phpunit/phpunit to ^10.0

Try once below, read more here

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi=""
         xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true"
         stopOnFailure="true"
>
    <include>
        <directory suffix="Test.php">./tests/Unit</directory>
    </include>
</phpunit>
1

I had a similar issue, but my < include > tag was inside a < coverage > tag.

Before

<coverage processUncoveredFiles="true">
    <include>
        <directory suffix=".php">./app</directory>
    </include>
</coverage>

After

<source>
    <include>
        <directory suffix=".php">./app</directory>
    </include>
</source>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Marcus Vance

Marcus Vance

Cybersecurity & Digital Privacy Researcher

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.

Share this article
Twitter Facebook Pinterest