-
Notifications
You must be signed in to change notification settings - Fork 14
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
Player testing: Cavy framework setup #331
Conversation
"pods": "yarn pods-install || yarn pods-update", | ||
"pods-install": "yarn pod-install", | ||
"pods-update": "pod update --silent" |
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.
These were moved here from the root package.json
to separate concerns
integration_test/babel.config.js
Outdated
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.
Changes here mirror the one from the example app
integration_test/src/TestableApp.tsx
Outdated
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 has a very basic setup which gets modified for actual player testing in #332
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 a placeholder test to prove the framework works
.github/workflows/ci.yml
Outdated
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 have to install yarn dependencies for the integration tests as well to allow typescript related validation.
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.
Nice! Works well.
I just happen to have metro already running (for the example though), but the error already told me what went wrong.
Co-authored-by: Matthias Tamegger <matamegger@users.noreply.github.com>
Co-authored-by: Matthias Tamegger <matamegger@users.noreply.github.com>
…testing/cavy-setup
Description
In order to enable writing integration tests, we need a framework that can run tests, that runs them on the native platform (unlike Jest), and has access to code-level components, such as
Player
.After an initial investigation, I found https://github.com/pixielabs/cavy.
Note: I noticed there were no commits in the last ~2 years, BUT no other solution I found had the characteristics we needed. At the same time, I familiarized myself with their codebase, which isn't too complex, nor too big, therefore forking and fixing issues, or implementing features shouldn't be too hard.
(I already opened a PR for fixing a race condition)
Changes
Integrated Cavy into the integration test application and set it up with a basic setup that can be extended to have player integration tests.
Checklist
CHANGELOG
entry - not applicable, we should add a single entry once everything gets merged for integration testing