In this section, we will attempt to dispel any confusion between the definitions of two very important and useful types of testing: integration tests and functional tests.
Integration versus functional testing
Integration tests
Integration tests pick up from where unit testing left off. Whereas unit testing ensures that each individual unit of a system works correctly in isolation, integration testing ensures that different units (or services, in a microservice architecture) interoperate correctly.
Let's consider a hypothetical scenario where we are building an e-shop application. Following the SOLID design principles, we have split our backend implementation into a bunch of microservices. Each microservice comes with...