# Pact JS (Contract testing)
At work we've been making the shift from a monolith(ish) to microservices(ish). As the Pact website will inform you in it's marketing - spinning up all those separate microservices can be a bit of a pain. Which means end to end integration testing can also be a bit of a pain. And avoiding pain is something we all like to do. Enter contract testing - a way to prove that your microservices will talk with their neighboring microservices without the pain of spinning them all up together.
Whither you agree or disagree, I'd wager that the challenge of testing in this way is an interesting one. As is working out what pact is doing to solve the challenge. So here I've set up a stripped down pact example to work through, line by line, what it's doing from the perspective of someone implementing it as their library of choice for contract tests: https://github.com/ijmccallum/learning-pact (opens new window)