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...
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
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>
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>