JUnit is one of Java's most popular unit testing frameworks. Hamcrest is an additional layer that sits on top of JUnit, and it allows you to write expressive and developer-friendly unit tests. In this course, you will learn which imports to use, how to write and run Hamcrest tests, how to use Hamcrest's fundamental methods, and how to write your own custom Hamcrest matchers. No prior knowledge of Hamcrest is necessary. The course is example-driven instruction and includes guided practice and quizzes to strengthen your understanding. Basic knowledge of Java programming and JUnit is required.