Up to this point, we’ve written a few microservices and set up collaborations between some of them. The implementations are fine, but we haven’t written any tests for them. As we 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 in isolation, and then at testing a complete microservice as if you were sending it requests from another microservice, but in-process using the TestServer from the Microsoft.AspNetCore.TestHost library.