-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add foundation for integration tests #3
Conversation
@@ -6,6 +6,7 @@ services: | |||
image: mysql:5 | |||
volumes: | |||
- ./data/mysql:/var/lib/mysql | |||
- ./tests/phpunit/wptests.sql:/docker-entrypoint-initdb.d/wptests.sql |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The MySQL data for the integration tests usually needs to persist only for the duration of the test so we could use a dedicated MySQL container for the integration tests. This would allow us to define a separate database name, username and password via the environment variables which would also cover this init step.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're attempting to have a single wordpress
container for development and if we had two mysql
services then wordpress
would have to depend on both or we need a second wordpress
specifically for tests. That's what we're trying to avoid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see what you mean by environment variables, but it's just adding complexity.
|
||
script: | ||
- npm run lint | ||
- npm run test:php:coverage | ||
- npm run docker -- npm run test:php:coverage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is cool -- Docker everywhere!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to build a proper image though and upload it to Docker Hub. Building during the testing is painful.
The coverage report is not merging correctly and so it never sends to Coveralls. It's the last thing to get this working correctly. I went into debug mode in the build and the output of the merge is:
But the correct output locally is:
The weird part is that the php files are generating correctly for the clover to be generated from. I can't think of an answer. I'll double back later. |
@kasparsd I got it to merge the coverage reports and send to Coveralls correctly 💥 |
No description provided.