How we should structure tests to improve velocity and reliability.

Pages


Roadmap

CI Pipeline (Travis CI)

Terminology


Unit tests verify if the smallest structure of a program, like functions or methods, work properly. They should test all branches in a given function and aim for 100% coverage.

Integration tests verify if separate components can work together. For instance, verify if jail can work with the rpc.Client using a net/http/httptest.Server mock. It's important to keep integration tests fast, reliable and predictable.

E2e tests verify if a program works properly with external systems. It should resemble the production setup as close as possible. In our case, e2e tests would use any public testnet.

Type of tests


https://atlassianblog.wpengine.com/wp-content/uploads/03-Piramides-03-03.png

Unit tests

Features