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.
Added
Integration tests bootstrap utilities: the 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 #16
This means that if the install-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.
If you previously adjusted your test bootstrap to set this environment variable, you should now be able to remove it.
Changed
Integration tests: both the 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, includes WP < 5.2. PR #20
Yoast\WPTestUtils\BrainMonkey\YoastTestCase: the is_multisite() stub will now respect a potentially set WP_TESTS_MULTISITE PHP constant. PR #22
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.
Added
Integration tests bootstrap utilities: the 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 #16
This means that if the install-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.
If you previously adjusted your test bootstrap to set this environment variable, you should now be able to remove it.
Changed
Integration tests: both the 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, includes WP < 5.2. PR #20
Yoast\WPTestUtils\BrainMonkey\YoastTestCase: the is_multisite() stub will now respect a potentially set WP_TESTS_MULTISITE PHP constant. PR #22
The [PHPUnit Polyfills] dependency has been updated to require version ^1.0.1 (was ^1.0.0).
README: the documentation has been partially rewritten to make it clearer what problems WP Test Utils solves.
General housekeeping.
Fixes
The [PHPUnit Polyfills] dependency introduced three new polyfills in the 1.0.0 version. These are now supported in all test cases. #17
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on yoast/wp-test-utils to permit the latest version.
Release notes
Sourced from yoast/wp-test-utils's releases.
Changelog
Sourced from yoast/wp-test-utils's changelog.
... (truncated)
Commits
21df3a0
Merge pull request #25 from Yoast/develop8d41d47
Merge pull request #24 from Yoast/feature/changelog-release-1.0.067f642b
Changelog for release 1.0.029554c5
Merge pull request #23 from Yoast/feature/update-readme-integration-tests9a93f7b
README: update for version 1.0.0 and WP 5.91ae9c2c
Merge pull request #22 from Yoast/feature/brainmonkey-testcase-improve-is-mul...0048a56
BrainMonkey\YoastTestCase: make theis_multisite()
stub more versatile763145f
Merge pull request #21 from Yoast/feature/phpunit-update-config2e9e7e8
PHPUnit: update configurationb35d6fb
Merge pull request #20 from Yoast/feature/compatibility-with-wp-5.9Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)