-
-
Notifications
You must be signed in to change notification settings - Fork 489
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Recipe for PHPUnit 10 #1239
Add Recipe for PHPUnit 10 #1239
Conversation
Thanks for the PR 😍 How to test these changes in your application
Diff between recipe versionsIn order to help with the review stage, I'm in charge of computing the diff between the various versions of patched recipes. phpunit/phpunit4.7 vs 9.3diff --git a/phpunit/phpunit/4.7/phpunit.xml.dist b/phpunit/phpunit/9.3/phpunit.xml.dist
index db2b29d..23ea5cf 100644
--- a/phpunit/phpunit/4.7/phpunit.xml.dist
+++ b/phpunit/phpunit/9.3/phpunit.xml.dist
@@ -6,12 +6,15 @@
backupGlobals="false"
colors="true"
bootstrap="tests/bootstrap.php"
+ convertDeprecationsToExceptions="false"
>
<php>
<ini name="display_errors" value="1" />
<ini name="error_reporting" value="-1" />
<server name="APP_ENV" value="test" force="true" />
<server name="SHELL_VERBOSITY" value="-1" />
+ <server name="SYMFONY_PHPUNIT_REMOVE" value="" />
+ <server name="SYMFONY_PHPUNIT_VERSION" value="9.5" />
</php>
<testsuites>
@@ -20,11 +23,11 @@
</testsuite>
</testsuites>
- <filter>
- <whitelist processUncoveredFilesFromWhitelist="true">
+ <coverage processUncoveredFiles="true">
+ <include>
<directory suffix=".php">src</directory>
- </whitelist>
- </filter>
+ </include>
+ </coverage>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" /> 9.3 vs 9.6diff --git a/phpunit/phpunit/9.3/phpunit.xml.dist b/phpunit/phpunit/9.6/phpunit.xml.dist
index 23ea5cf..6c4bfed 100644
--- a/phpunit/phpunit/9.3/phpunit.xml.dist
+++ b/phpunit/phpunit/9.6/phpunit.xml.dist
@@ -33,8 +33,6 @@
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
</listeners>
- <!-- Uncomment when adding extensions
<extensions>
</extensions>
- -->
</phpunit> 9.6 vs 10.0diff --git a/phpunit/phpunit/9.6/.env.test b/phpunit/phpunit/10.0/.env.test
index 9e7162f..24a43c0 100644
--- a/phpunit/phpunit/9.6/.env.test
+++ b/phpunit/phpunit/10.0/.env.test
@@ -2,5 +2,3 @@
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
-PANTHER_APP_ENV=panther
-PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
diff --git a/phpunit/phpunit/9.6/manifest.json b/phpunit/phpunit/10.0/manifest.json
index 8af7b3b..a35670a 100644
--- a/phpunit/phpunit/9.6/manifest.json
+++ b/phpunit/phpunit/10.0/manifest.json
@@ -1,11 +1,11 @@
{
"copy-from-recipe": {
".env.test": ".env.test",
- "phpunit.xml.dist": "phpunit.xml.dist",
+ "phpunit.dist.xml": "phpunit.dist.xml",
"tests/": "tests/"
},
"gitignore": [
"/phpunit.xml",
- ".phpunit.result.cache"
+ "/.phpunit.cache/"
]
}
diff --git a/phpunit/phpunit/9.6/phpunit.xml.dist b/phpunit/phpunit/10.0/phpunit.dist.xml
similarity index 72%
rename from phpunit/phpunit/9.6/phpunit.xml.dist
rename to phpunit/phpunit/10.0/phpunit.dist.xml
index 6c4bfed..580108c 100644
--- a/phpunit/phpunit/9.6/phpunit.xml.dist
+++ b/phpunit/phpunit/10.0/phpunit.dist.xml
@@ -6,7 +6,7 @@
backupGlobals="false"
colors="true"
bootstrap="tests/bootstrap.php"
- convertDeprecationsToExceptions="false"
+ cacheDirectory=".phpunit.cache"
>
<php>
<ini name="display_errors" value="1" />
@@ -14,7 +14,7 @@
<server name="APP_ENV" value="test" force="true" />
<server name="SHELL_VERBOSITY" value="-1" />
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
- <server name="SYMFONY_PHPUNIT_VERSION" value="9.5" />
+ <server name="SYMFONY_PHPUNIT_VERSION" value="10.5" />
</php>
<testsuites>
@@ -23,15 +23,11 @@
</testsuite>
</testsuites>
- <coverage processUncoveredFiles="true">
+ <source restrictDeprecations="true" restrictNotices="true" restrictWarnings="true">
<include>
- <directory suffix=".php">src</directory>
+ <directory>src</directory>
</include>
- </coverage>
-
- <listeners>
- <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
- </listeners>
+ </source>
<extensions>
</extensions> |
Head branch was pushed to by a user without write access
3a804c4
to
e470d73
Compare
Head branch was pushed to by a user without write access
e470d73
to
8530d29
Compare
@@ -19,6 +19,20 @@ | |||
"content": " <extension class=\"Symfony\\Component\\Panther\\ServerExtension\" />", | |||
"position": "after_target", | |||
"target": "<extensions>", | |||
"warn_if_missing": false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by renaming the phpunit.xml.dist
to phpunit.dist.xml
we also have the advantages that this recipe is compatible so with phpunit 9 recipe and phpunit 10 recipe
}, | ||
{ | ||
"file": "phpunit.dist.xml", | ||
"content": " <bootstrap class=\"Symfony\\Component\\Panther\\ServerExtension\" />", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Panther alreadys supports PHPUnit 10: symfony/panther#589
Anything I need to tackle here? |
Head branch was pushed to by a user without write access
|
||
require dirname(__DIR__).'/vendor/autoload.php'; | ||
|
||
if (file_exists(dirname(__DIR__).'/config/bootstrap.php')) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is an unnecessary check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@a1812 it is required to be compatible with Symfony 4.4 because also there people can update there recipes to latest version: https://github.com/symfony/recipes/blob/main/symfony/console/4.4/config/bootstrap.php
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Symfony 4.4 is not maintained anymore now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can remove it still it will make projects on 4.4 fail if the call recipes update command.
Hello, what are the conditions for validating this request? New Symfony projects don't have a valid default configuration. |
@alexander-schranz can you please rebase the changes to the latest main, so GitHub Actions will run the build. |
Head branch was pushed to by a user without write access
8a8f244
to
b24a3c9
Compare
Head branch was pushed to by a user without write access
Looks like the CI errors are expected |
Head branch was pushed to by a user without write access
# define your env variables for the test env here | ||
KERNEL_CLASS='App\Kernel' | ||
APP_SECRET='$ecretf0rt3st' | ||
SYMFONY_DEPRECATIONS_HELPER=999999 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SYMFONY_DEPRECATIONS_HELPER
does not make sense for PHPUnit 10+ as we want to use the PHPUnit native deprecation system, which is not configured by the env variable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would appreciate to use native where possible, which I think should as I did understand Sebastian now be for all features Symfony provided in the past via the bridge?
So maybe we should also remove this part:
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
<server name="SYMFONY_PHPUNIT_VERSION" value="10.5" />
And should we remove the phpunit-bridge
from the test-pack
:
https://github.com/symfony/test-pack/blob/v1.1.0/composer.json#L10
</testsuite> | ||
</testsuites> | ||
|
||
<source restrictDeprecations="true" restrictNotices="true" restrictWarnings="true"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this does not configure the deprecation reporting in a way matching the reporting convention used in symfony/deprecation-contracts
. See https://github.com/symfony/demo/pull/1549/files#diff-e35810879ec42bdd81797b3ccb72f6de28a8b4a0e3bfdba43183e133e866b892R25-R37 for the necessary configuration.
This will add a recipe for PHPUnit 10:
Following changes:
listeners
do not longer exists in PHPUnit 10 where replaced by extensionsextensions
still exists but need to be written differentlybootstrap
tag now: https://docs.phpunit.de/en/10.3/configuration.html#the-extensions-element and use the new event system https://docs.phpunit.de/en/10.3/extending-phpunit.html#phpunit-s-event-system (this effects maybe phpunit-bridge and panther)phpunit.xml.dist
tophpunit.dist.xml
for better IDE support (same already done for phpstan) see also: Support dist file namephpunit.dist.xml
sebastianbergmann/phpunit#4650 / sebastianbergmann/phpunit@07a022a.phpunit.result.cache
to cache directory/.phpunit.cache/