Types of testing
The various types of testing we discuss later in the chapter were already known even before cloud computing became popular. The principles of Agile development using continuous integration (CI) and continuous development (CD) make it important to automate these types of testing so that they are executed each time a code check-in and build happens.
Unit testing
The aim of unit testing is to test each class or code component and ensure it is performing as expected. JUnit is the popular Java framework for unit testing.
Using the Mock object pattern and Test Stubs, it is possible to isolate the dependent components of the services being tested so that the testing focuses on the system under test, which is the service.
JUnit is the most popular tool to perform unit testing.
Integration testing
The aim of component testing is to check whether the components, such as the Product service, perform as expected.
Components such as spring-boot-test
help run the test suites and run the test...