Use this guide when you want to verify behaviour in a real WordPress runtime, not only unit tests.
If you prefer a single command, run composer run test:wp.
It performs wp:env:up, test:wp:setup, and test:wp:smoke.
composer install
composer run wp:env:up
composer run test:wp:setup
This starts db and wordpress containers, then initialises WordPress and activates the smoke fixture plugin used for testing.
By default, the local workflow uses the repository’s current baseline smoke tuple. You can select another supported tuple by setting both WORDPRESS_VERSION and WORDPRESS_PHP_VERSION before running the scripts.
Example:
WORDPRESS_VERSION=6.8 WORDPRESS_PHP_VERSION=8.4 composer run test:wp
composer run test:wp:smoke
The smoke checks validate:
NOTICE routes through WP_CLI::log() with level prefix.WARNING routes through WP_CLI::warning().ERROR routes through WP_CLI::error() without requiring immediate process exit.CRITICAL routes through WP_CLI::error() and exits non-zero.INFO output is suppressed in --quiet runs.DEBUG output appears when running with --debug.The repository keeps WordPress-runtime support separate from package runtime compatibility.
composer.json and the active Monolog line.Current policy snapshot for WordPress smoke coverage:
7.0 on PHP 8.47.0 on PHP 8.56.8 on PHP 8.36.8 on PHP 8.4That tuple list is what CI is expected to exercise. Local runs may use the default tuple or any other supported tuple by setting environment variables.
composer run wp:env:down
Use this after local testing to remove containers and volumes.
Note: composer run test:wp does not run teardown automatically.
wp monolog-smoke.tests/wordpress/fixtures/monolog-wp-cli-smoke/monolog-wp-cli-smoke.php.tests/wordpress/bin/.WORDPRESS_VERSION and WORDPRESS_PHP_VERSION.