2021-05-03, 13:30–13:55, General Track 2
I'll present a tiered approach that allows testing microservices quickly and thoroughly. The tests use stateful mocks of other services, and thus allow concise tests as well as simulating outages, subtle timing problems and large datasets.
Microservices are fantastic, but a pain to test in complex interaction scenarios. Unit tests are quick and easy, but don’t cover interactions. System integration tests are a standard way to address complexity, but take a huge effort to maintain and a lot of resources to run. How can we get the best of both worlds?
In this talk, I’ll present a tiered approach that enables writing tests quickly without sacrificing coverage. The tests use stateful mocks of other services mediated by a verification layer. I’ll talk about how this approach allows testing of insidious failure modes, such as failures within dependencies and narrow race conditions, both of which are almost impossible to achieve in integration tests.