Compare with default wp-env where everything is bundled#2
Draft
kasparsd wants to merge 1 commit into
Draft
Conversation
kasparsd
commented
Jan 13, 2025
| "test": "npm-run-all2 test:*", | ||
| "test:workspaces": "npm run test --workspaces --if-present", | ||
| "test:phpunit": "wp-env run tests-cli composer test" | ||
| "test:phpunit": "wp-env run tests-cli --env-cwd=tools phpunit" |
Contributor
Author
There was a problem hiding this comment.
Using the bundled phpunit simply fails:
An error occurred inside PHPUnit.
Message: Call to undefined method PHPUnit\Framework\TestSuite::empty()
Location: /home/USERNAME/.composer/vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/TestSuiteMapper.php:48
#0 /home/USERNAME/.composer/vendor/phpunit/phpunit/src/TextUI/Configuration/TestSuiteBuilder.php(75):
...
| if ( is_readable( $wp_env_tests_dir . '/wp-tests-config.php' ) ) { | ||
| putenv( sprintf( 'WP_PHPUNIT__TESTS_CONFIG=%s/wp-tests-config.php', $wp_env_tests_dir ) ); | ||
| } | ||
| $wp_tests_dir = getenv( 'WP_TESTS_DIR' ); |
Contributor
Author
There was a problem hiding this comment.
Here we rely on the bundled WP PHPUnit testing library instead of pulling in a known version from https://github.com/wp-phpunit/docs
This will change with every version of WP core we require in wp-env.json which could lead to breaking changes.
kasparsd
commented
Jan 13, 2025
| "request": "launch", | ||
| "port": 9003, | ||
| "pathMappings": { | ||
| "/var/www/html": "${workspaceFolder}/wordpress", |
Contributor
Author
There was a problem hiding this comment.
IDEs no longer have access to WP core files for autocomplete and debugging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a diff to illustrate the suggested default setup using only the bundled WP core, PHPunit testing library, etc.
Issues
Code editors no longer have access to WP core files so no autocomplete, debug breakpoints, etc.
The bundled
phpunitis not functional:The wp-env environment doesn't include
yoast/phpunit-polyfillsso that has to be required at the project level. Requiring this package also pulls in a version of phpunit which conflicts with the bundled phpunit at/home/USERNAME/.composer/vendor/phpunit/...The bundled
phpunitis useless due to the above. Each project must call their localvendor/bin/phpunitto run the tests. What's the purpose of the bundledphpunitif it can't be used at all?A different version of WP PHPunit library is pulled with every version of WP core defined in
.wp-env.jsonwhich leads to unexpected testing behaviour.