* Add WordPress version selection to Docker PHP test suite * Remove guard for old WordPress version It was producing an error message when valid versions like “5.3” are selected: bin/install-wp-tests.sh: line 22: [: 5.3: integer expression expected I removed it since disallowing older versions doesn't really add any value now. * Bump image version to trigger rebuild * Fix existing WordPress version not being replaced The install-wp-tests.sh script does not install WordPress if a previous installation is detected. To enable WP version switching, the ENTRYPOINT removes previous files to ensure the installation starts from a clean state. * Partially revert abd8ab80dc7ef6b57316636d467b511a07d0c5d3 The typo fix was accidentally included in this commit. * Fix installation routine running every time A typo was causing the installation routine to run on each use. |
||
---|---|---|
.. | ||
Dockerfile | ||
docker-compose.yml | ||
entrypoint.sh | ||
readme.md |
readme.md
Docker PHP Test Suite
A docker app to run the PHP Test Suite.
Getting Started
For convenience, the PHP Test Suite can be run from an npm script.
npm run test:php
This runs the the phpunit
container with docker-compose -f run --rm phpunit
. On first use, the container will install the PHP Test Suite and perform the tests. Subsequent use will only perform the tests.
Re-install Test Suite
Re-installation is useful to update WordPress to the latest version. To do this, remove the existing test-suite
volume using Docker. For example:
docker volume rm -f wc-admin-php-test-suite_test-suite
Then run the test suite normally using the npm script. Installation will be automatically performed.
Testing a single test case
PHPUnit flags can be passed to the npm script. To limit testing to a single test case, use the --filter
flag.
npm run test:php -- --filter=<name of test>
Selecting the WordPress and WooCommerce Versions
By default, the minimum supported versions of WordPress and WooCommerce are used to build the test suite. This can be overridden with environment variables.
WP_VERSION=5.6 WC_VERSION=4.9.0 npm run test:php
Development
When comitting changes to the Dockerfile
or entrypoint.sh
files, bump the wc-admin-php-test-suite-phpunit
image tag version in docker-composer.xml
. This will result in an image rebuild automatically upon next use, enabling the changes to be applied for all users.