-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Ensure the actual tests environment is used for e2e tests #70280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: 0 B Total Size: 1.85 MB ℹ️ View Unchanged
|
…70280) Co-authored-by: westonruter <[email protected]> Co-authored-by: swissspidy <[email protected]>
By default the
testsenvironment inwp-envuses the port8889. On my system, I am overriding this via.wp-env.override.jsonuse a different port number for thedevelopmentandtestsenvironments:{ "$schema": "./schemas/json/wp-env.json", "core": "../../../", "port": 8891, "testsPort": 8991, "env": { "development": { "phpmyadminPort": 9001 }, "tests": { "mappings": { "/wordpress-phpunit": "../../../../tests/phpunit" } } } }This is important to override because the
WordPress/wordpress-developrepo also uses the8889port for its development environment. In this way the Gutenberg environment can run at the same time as the wordpress-develop environment.Nevertheless, even though I overrode the
testsport to be8991, I found that when I rannpm run test:e2eit would run the tests still onhttp://localhost:8889. The result is that it clobbered the database of my wordpress-develop environment, leaving me with zero published posts and Twenty Twenty-One theme active. The command fails as well with an error:This is expected given that the wordpress-develop environment is not the same as the Gutenberg test environment which has that plugin installed.
If I tried modifying the
.envfile in wordpress-develop to use a different port number, like 18889, thennpm run test:e2efails with:Also, this is expected because it is (erroneously) looking to use the test server at port
8889, when according to my.wp-env.override.jsonit should be using port8991.So this PR fixes the issue by loading up the current
WPConfigin order to obtain theenvConfig.env.tests.port. This is then passed to Playwright via theWP_BASE_URLenvironment variable if one is not already set.