Remove section re running tests under PHP 8 (#37713)
This commit is contained in:
commit
901ef4abec
|
@ -0,0 +1,5 @@
|
||||||
|
Significance: patch
|
||||||
|
Type: update
|
||||||
|
Comment: No changelog entry needed, this is an update to developer-facing documentation only.
|
||||||
|
|
||||||
|
|
|
@ -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.
|
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
|
## Writing Tests
|
||||||
|
|
||||||
There are three different unit test directories:
|
There are three different unit test directories:
|
||||||
|
|
Loading…
Reference in New Issue