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


Unit tests

Features