Third-party Assertion Libraries support in JUnit 5

By | October 2, 2020

Assertion facilities provided by JUnit Jupiter or Junit 5 are sufficient for most testing scenarios, there are times when we need more power and additional functionality such as matchers are desired. In that case, the JUnit team recommends the use of third-party assertion libraries such as AssertJTruth,Hamcrest, etc. Developers are free to use the assertion library of their own choices.

For example, the combination of matchers and a fluent API can be used to make assertions more readable and descriptive. However, JUnit Jupiter’s org.junit.jupiter.api.Assertions class does not provide an assertThat() method like the one available in JUnit 4’s org.junit.Assert class which accepts a Hamcrest Matcher. Instead, developers are recommended to use the built-in support for matchers provided by third-party assertion libraries.

This example demonstrates how to use the assertThat() support from Hamcrest in a JUnit Jupiter test. As long as the Hamcrest library has been added to the classpath, We can statically import methods such as assertThat(),equalTo(), and is() and then use them in tests like in the test_add_two_positive_numbers() method below.


Resource class: 

Test Class

The output of the above project:


You May Also Like:

Junit 5 Architecture
JUnit 5 Annotations
JUnit 5 Maven Dependency
JUnit 5 with Gradle Dependency
JUnit 5 Test Lifecycle
JUnit 5 @BeforeAll annotation example
Unit 5 @AfterAll annotation example
JUnit 5 @BeforeEach and @AfterEach annotation Example

That’s all about Third-party Assertion Libraries support in JUnit 5
If you have any feedback or suggestion please feel free to drop in below comment box.

Leave a Reply

Your email address will not be published. Required fields are marked *