Building our unit tests
In this section, we will explore the concept of unit tests, and building unit test modules, which 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 behavior that we do not want. This was seen in Chapter 8, Building RESTful Services, 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...