Summary
In this chapter, you were given an overview of the capabilities and limitations of the various JUnit test verification techniques. More precisely, you were introduced to the built-in mechanism, Hamcrest matchers, and AssertJ asserts. You learned about the difficulties involved in writing concise verifications to reveal the expected outcome of a test clearly. However, we experienced how domain-specific assertions can help to improve readability and reduce boilerplate at the same time.
In the upcoming, final chapter, we will wrap up the example application and conclude the book with a short introduction to continuous integration. The latter can be seen as the perfect JUnit testing complement to maintain short feedback cycles and provide quality-related reports for your whole team.