diff --git a/plugins/woocommerce/tests/README.md b/plugins/woocommerce/tests/README.md index 6e662606437..7d931f510e9 100644 --- a/plugins/woocommerce/tests/README.md +++ b/plugins/woocommerce/tests/README.md @@ -97,32 +97,6 @@ $ tests/bin/install.sh woocommerce_tests_1 root root Note that `woocommerce_tests` changed to `woocommerce_tests_1` as the `woocommerce_tests` database already exists due to the prior command. -### Running tests in PHP 8 - -WooCommerce currently supports PHP versions from 7.0 up to 8.0, and this poses an issue with PHPUnit: - -* The latest PHPUnit version that supports PHP 7.0 is 6.5.14 -* The latest PHPUnit version that WordPress (and thus WooCommerce) supports is 7.5.20, but that version doesn't work on PHP 8 - -To workaround this, the testing strategy used by WooCommerce is as follows: - -* We normally use PHPUnit 6.5.14 -* For PHP 8 we use [a custom fork of PHPUnit 7.5.20 with support for PHP 8](https://github.com/woocommerce/phpunit/pull/1). WooCommerce's GitHub Actions CI workflow is configured to use this fork instead of the old version 6 when running in PHP 8. - -If you want to run the tests locally under PHP 8 you'll need to temporarily modify `composer.json` to use the custom PHPUnit fork in the same way that the GitHub Actions CI workflow file does. These are the commands that you'll need (run them after a regular `composer install` from within the `plugins/woocommerce` directory): - -```shell -curl -L https://github.com/woocommerce/phpunit/archive/add-compatibility-with-php8-to-phpunit-7.zip -o /tmp/phpunit-7.5-fork.zip -unzip -d /tmp/phpunit-7.5-fork /tmp/phpunit-7.5-fork.zip -composer bin phpunit config --unset platform -composer bin phpunit config repositories.0 '{"type": "path", "url": "/tmp/phpunit-7.5-fork/phpunit-add-compatibility-with-php8-to-phpunit-7", "options": {"symlink": false}}' -composer bin phpunit require --dev -W phpunit/phpunit:@dev --ignore-platform-reqs -rm -rf ./vendor/phpunit/ -composer dump-autoload -``` - -Just remember that you can't include the modified `composer.json` in any commit! - ## Writing Tests There are three different unit test directories: