NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #2630 most downloaded on Packagist
PHPUnit cross-version compatibility layer for testing plugins and themes build for WordPress
Last release 8 months ago
05 Feb 2026
Release timing varies
gaps range from 2 weeks to 2.4 years
Nearly every release is documented
notes for 10 of 10 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
10 releases · first in 2020
One column per quarter.
The PHPUnit Polyfills dependency has been updated to require version ^1.1.5 (was ^1.1.0 ). PRs #75 , #101
^1.1.5 (was ^1.1.0). PRs #75, #101^2.7.0 (was ^2.6.1). PRs #79, #102Support for the new PHPUnit assertObjectHasProperty() and assertObjectNotHasProperty() assertions, as polyfilled via the PHPUnit Polyfills in all test
assertObjectHasProperty() and assertObjectNotHasProperty() assertions, as polyfilled via the PHPUnit Polyfills in all test cases. PR #64assertObjectHasProperty() and assertObjectNotHasProperty() assertions can now safely be used in all tests in classes which extend one of the WP Test Utils TestCases.Yoast\WPTestUtils\BrainMonkey\YoastTestCase: the parameter names used in a few of the stubs for WP Core functions have been updated to stay in line with the names used in WP Core. PR #53^1.1.0 (was ^1.0.5). PRs #52, #64The "on the fly" created test doubles would identify as the same class when comparing objects using instanceof . #45 The underlying logic has been cha
instanceof. #45Yoast\WPTestUtils\BrainMonkey\Doubles\DummyTestDouble class which was introduced in 1.1.0.PR #40 The default Mockery mocks for unavailable classes do not allow for the dynamic property deprecation in PHP 8.2, which can cause tests to error…
^2.6.1 (was ^2.6.0). PR #28^1.0.4 (was ^1.0.1). PRs #28, #41WordPress 5.9 contains significant changes to the WordPress native test suite, which impacts integration tests . Please see the dev-note about these c
WordPress 5.9 contains significant changes to the WordPress native test suite, which impacts integration tests.
Please see the dev-note about these changes on Make WordPress for full details.
This release makes WP Test Utils compatible with these changes, but can't fully mitigate them, though if you were using WP Test Utils before, you're already half prepared for these changes.
For users of WP Test Utils, a search for declarations of and calls to the setUpBeforeClass(), setUp(), tearDown() and tearDownAfterClass() methods and replacing these with their snake_case equivalents set_up_before_class(), set_up() tear_down() and tear_down_after_class() is all that is required to make your test suite compatible again with the latest versions of WordPress.
You also may want to do some tweaking to the CI scripts used to run the tests to allow for using the optimal PHPUnit version to run the tests.
See the Make Core dev-note for guidance.
Yoast\WPTestUtils\WPIntegration\get_path_to_wp_test_dir() function will now also search for the WP Core test framework files in the system temp directory as per the typical setup created by the WP-CLI scaffold command. PR #16install-wp-tests.sh script is used without adjustments, the path to the WP native test bootstrap should be findable by WP Test Utils without needing to set the WP_TESTS_DIR environment variable.TestCase as well as the bootstrap utilities have been adjusted to be cross-version compatible with the WP Core test framework as it is per WP 5.9, while still maintaining compatibility with older WP versions as well, including WP < 5.2. PR #20Yoast\WPTestUtils\BrainMonkey\YoastTestCase: the is_multisite() stub will now respect a potentially set WP_TESTS_MULTISITE PHP constant. PR #22^1.0.1 (was ^1.0.0).1.0.0 version. These are now supported in all test cases. #17Thanks Pierre Gordon and Pascal Birchler for making feature suggestions for this version.
The PHPUnit Polyfills dependency has been updated to require version ^1.0.0 (was ^0.2.0 ).
^1.0.0 (was ^0.2.0).scaffold command.The BrainMonkey dependency has been updated to require version ^2.6.0 (was ^2.5.0 ).
^2.6.0 (was ^2.5.0).Yoast\WPTestUtils\BrainMonkey\YoastTestCase: removed stubs for wp_json_encode() and user_trailingslashit().A TestCase for WordPress plugin integration tests.
TestCase for WordPress plugin integration tests.bootstrap.php file.EscapeOutputHelper trait.Full details on these new features can be found in the README.
The PHPUnit Polyfills dependency has been updated to require version ^0.2.0 (was ^0.1.0 ).
^0.2.0 (was ^0.1.0).[Unreleased]: https://github.com/Yoast/wp-test-utils/compare/main...HEAD [1.2.0]: https://github.com/Yoast/wp-test-utils/compare/1.1.1...1.2.0 [1.1.1]
Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →