Learn how you can test Java microservices using consumer-driven contracts using Open Liberty.With microservices-based architectures it is essential to conduct thorough testing to make sure that the microservices that are dependent on each other are able to communicate effectively. In order to avoid the possibility of multiple failure points at various integration points, the combination of integration, unit, and end-to-end tests is used. Although unit tests are speedy but they're not as reliable since they are run in isolation and rely mostly upon mock data.Integration tests tackle this issue by testing against actual running services. However, they can be slow because they are dependent on other microservices and are less reliable due to the fact that they are susceptible to changes from outside. End-to-end tests are generally more reliable because they test functions from the perspective of the user. However, a graphic user interface (GUI) component is typically needed to conduct end-to-end tests as well. GUI components depend on third-party software, like Selenium which demands heavy computational in time as well as resources. Contract testing fills in the gaps between the weaknesses of the various testing methods. It is an effective method to test the integration of a point, by isolating every microservice and determining if it's HTTP requests and responses the microservice sends are in line with an agreed upon understanding recorded in the contract. In this way, contract testing makes sure that microservices are able to communicate with one another.