Integration testing verifies the interactions between the component under test and its external resources. For example, a cloud-native component performs synchronous intra-component communication with its cloud-native databases and the event streaming service, a frontend communicates with its backend-for-frontend component, and an external service gateway component communicates with the third-party service that it wraps. These tests are focused on the coverage of the communication pathways instead of the component's behavior.
When performing unit testing and component testing, these interactions are replaced with test doubles so that the component's behavior can be tested in isolation. These test doubles are implemented ...