Building our unit tests
In this section, we will explore the concept of unit tests and how to build unit test modules that contain tests as functions. Here, we are not going to achieve 100% unit test coverage for our application. There are places in our application that can be covered by our functional tests, such as API endpoints and JSON serialization. However, unit tests are still important in some parts of our application.
Unit tests enable us to look at some of our processes in more detail. As we saw with our logging in Chapter 8, Building RESTful Services, a functional test might work the way we want it to end-to-end, but there might be edge cases and behaviors that we do not want. This was seen in the previous chapter, where we saw our application make two GET
calls when one was enough.
In our unit tests, we will break down the processes one by one, mock certain parameters, and test the outcomes. These tests are fully isolated. The advantage of this is that we get to test...