You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As this is for testing only, I don't think it is that big of a deal, tbh, and it would solve a lot of issues with the current setup.
We could even go so far as to have a package be pulled in that manages all of the files that would normally be scaffolded, which then makes the entire thing composer updateable, instead of being stuck at whatever state the WP-CLI scaffold command was at the time...
Reacted by Pascal Birchler, Juliette and Benjamin Turner
Is there documentation on how the polyfill should be setup? I looked at WP_TESTS_PHPUNIT_POLYFILLS_PATH and expected to see it defined in install-wp-tests.sh, but it was not.
I ended up running composer require yoast/phpunit-polyfills --dev and adding require dirname( dirname( __FILE__ ) ) . '/vendor/yoast/phpunit-polyfills/phpunitpolyfills-autoload.php'; to tests/bootstrap.php.
As per the description, the script currently expects WP_TESTS_PHPUNIT_POLYFILLS_PATH to be set as an environment variable. This issue is about improving that, which is why you don't see it yet in install-wp-tests.sh or bootstrap.php.
I ended up running composer require yoast/phpunit-polyfills --dev and adding require dirname( dirname( FILE ) ) . '/vendor/yoast/phpunit-polyfills/phpunitpolyfills-autoload.php'; to tests/bootstrap.php.
That is the right way to do it. If you can't (or don't want to) add a test/bootstrap.php file, then the environment variable is a fall-back alternative.
You can also have a look at the WP Test Utils repo which can handle the bootstrapping for you and plays nice with the install-wp-tests.sh script.
Activity
schlessera commentedon Sep 24, 2021
As this is for testing only, I don't think it is that big of a deal, tbh, and it would solve a lot of issues with the current setup.
We could even go so far as to have a package be pulled in that manages all of the files that would normally be scaffolded, which then makes the entire thing
composer updateable, instead of being stuck at whatever state the WP-CLI scaffold command was at the time...squelchdesign commentedon Nov 11, 2021
+1 to this idea.
It's worth mentioning that as of WP 5.8.2 it looks like the current testing setup is broken due to the missing polyfills. 5.8.1 still works.
jrfnl commentedon Nov 11, 2021
Correct: the test changes from
trunkhave been backported to WP 5.2 - 5.8 and for5.8, the first tag which included this backport is5.8.2.grappler commentedon Mar 16, 2022
Is there documentation on how the polyfill should be setup? I looked at
WP_TESTS_PHPUNIT_POLYFILLS_PATHand expected to see it defined in install-wp-tests.sh, but it was not.I ended up running
composer require yoast/phpunit-polyfills --devand addingrequire dirname( dirname( __FILE__ ) ) . '/vendor/yoast/phpunit-polyfills/phpunitpolyfills-autoload.php';totests/bootstrap.php.swissspidy commentedon Mar 16, 2022
As per the description, the script currently expects
WP_TESTS_PHPUNIT_POLYFILLS_PATHto be set as an environment variable. This issue is about improving that, which is why you don't see it yet ininstall-wp-tests.shorbootstrap.php.jrfnl commentedon Mar 16, 2022
@grappler Are you by chance looking for this write-up about it ? https://make.wordpress.org/core/2021/09/27/changes-to-the-wordpress-core-php-test-suite/ (In particular the "What does this mean for plugins/themes running integration tests based on the WP Core test suite?" section - bullet 4)
That is the right way to do it. If you can't (or don't want to) add a
test/bootstrap.phpfile, then the environment variable is a fall-back alternative.You can also have a look at the WP Test Utils repo which can handle the bootstrapping for you and plays nice with the
install-wp-tests.shscript.grappler commentedon Mar 16, 2022
Thanks @jrfnl! It is clearer now. I knew about the write-up, but missed the section regarding the plugins.
jrfnl commentedon Mar 16, 2022
@grappler Glad it helped ;-)
danielbachhuber commentedon Jan 30, 2023
@swissspidy Want to put together a pull request for this?
swissspidy commentedon Jan 30, 2023
Not sure I have bandwidth for that right now unfortunately