Chapter 7. Writing tests for microservices
This chapter covers
- Writing good automated tests
- Understanding the test pyramid and how it applies to microservices
- Testing microservices from the outside
- Writing fast, in-process tests for endpoints
- Using Nancy.Testing for integration and unit tests
Up to this point, you’ve written a few microservices and set up collaborations between some of them. The implementations are fine, but you haven’t written any tests for them. As you write more and more microservices, developing systems without good automated tests becomes unmanageable. In the first half of this chapter, I’ll discuss what you need to test for each individual microservice. Then we’ll dive into code, looking first at testing endpoints using the Nancy.Testing library, and then at testing a complete microservice as if you were sending it requests from another microservice.
In chapter 1, you saw three characteristics of a microservice that make it good for continuous delivery: