Current Status: Bokchoy for e2e tests
Contract based testing
- 2 services that talk to each other where one is a client. Client contributes test for provider to adhere to contract. Provider can't update until client has updated as to not break.
Pact - library to handle contract based testing. Started in ruby - python & javascript libraries now available
Some codegen for automation of the tests. State of tooling unknown.
Tests live with the provider. Can run on every commit. Responsible for updating clients if you break the contract. Client also required to update the tests if their needs change.
Contact vs propsType
Spike on tooling for generating tests? Try it out with a few endpoints
Snapshotting
React snapshots render to flat file
React Snapshotting + Contract based testing may get us a lot of the functionality that e2e.
- Snapshotting - covers rendering issues
- Contact based testing - covers end to end interaction
Browser Tests
Still value in end to end tests - verifies that the test suite isn't buggy.
roughly 1/3 failures of e2e are true issues. Mostly WL or microsites.
Browser automation for smoke tests
In edx-platform there are some tests that test rendering views without bokchoy, parse html and verify markup