How to Test - AmyAssist/Amy GitHub Wiki
JUnit 5 and JUnit Jupiter
We are using JUnit 5 as test platform.
For better assertions and matchers we are using Hamcrest.
Use assertThat(actual, matcher) instead of assertEquals().
For mocking classes and interfaces we are using mockito.
It allows us to test code without the need to run the whole application.
Import for JUnit Jupiter:
import static org.junit.jupiter.api.Assertions.assertThrows;
only requiered if testing Exceptions with assertThrows().
Hamcrest
imports for Hamcrest:
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
For asserts use assertThat(actual, matcher).
Matcher
Matchers are used to check the assertion conditons on the actual value.
There are simple matcher like is(value) or equalTo(operand) and matcher which combine matchers like not(matcher) or allOf(matchers...).
For a list of matchers see this list, but that's not all, there are many libraries and you can create matchers your self.
How to use the TestFramework
The TestFramework can be used by adding @ExtendWith(FrameworkExtention.class).