Я работаю с JUnit5 и их функцией ParameterizedTest
. Как мне работать со ссылками на методы в качестве части источника данных?
Пример:
public enum Status {
APPROVE, DECLINE
}
@Mock
public MockService mockService;
// Normal Test
@Test
void testApprove() {
Mockito.doReturn(null)
.when(mockService)
.approveCall();
Mockito.verify(mockService).approveCall();
}
// Parameterized Test
Map<Status, Supplier<?>> mockMap = Map.ofEntries( // Java 9 method
Map.entry(APPROVE, mockService::approveCall),
Map.entry(DECLINE, mockService::declineCall)
);
@ParameterizedTest
@EnumSource(Status.class)
void test(Status status) {
Supplier<?> supplier = mockMap.get(status);
??
}
Я хочу, чтобы мой второй тест выполнял те же действия, что и мой первый тест, но также охватывал DECLINE
значение. Как я могу параметризовать ссылку на метод макета?