The (in my opinion) most easiest and most readable approach is to use method level injection.
This will result in having all test data within the test method. This will keep your test classes clean as there are no 'floating' mock's.
@ExtendWith(MockitoExtension.class)public class SomeClassTest { @Test void someTestMethod(@Mock Foo<Bar> fooMock) { // do something with your mock }}