There are three approaches to testing within VideoContext
. All must pass on CI for PRs to be merged.
Testing the individual components that make up VideoContext
as isolated units
- framework: jest
- coverage: moderate
- coupling: high - we're using a reasonable amount of mocking and testing against some private APIs
Spec testing on the public APIs of VideoContext
- framework: jest
- coverage: moderate/low
- coupling: low
End-to-end regression testing in the browser. VideoContext
is driven as it would be in the real world.
Cypress is used to take and compare screenshots out the output to previous builds
- framework: cypress
- coverage: low
- coupling: low
For more detail see ./cypress#readme