Testing is an integral part of software development, not only because it will give us confidence in the correctness of our implementation, but performing testing correctly also allows us to understand that our requirements are met and they provide a living documentation of our code.
Well-written tests can make any complex software understandable; using our domain Ubiquitous language in our tests, we can make the entire team understand our implementation, including the domain experts, which will give inestimable value to our microservices. We learned about domain-driven design and the Ubiquitous language in Chapter 1, Understanding Microservices; you can revisit that chapter to refresh some of the concepts that we will use.
Since we will use Spring Framework to build our microservices, we will need to know which components Spring provides for our tests...