Вы можете обойти эту проблему насмешек параметризованных типов, используя аннотацию @Mock
от Mockito, например, вот так:
class MyTests {
@Mock
List<String> listOfStrings;
@BeforeEach
void initMocks() {
MockitoAnnotations.initMocks(this);
}
@Test
public void testMock() {
listOfStrings.add("a String");
}
}
Тем не менее, насмешка над List
обычно не имеет большого смысла, но Я полагаю, вы выбрали это просто в качестве примера для любого параметризованного типа.
Если вы используете расширение Юпитера от Mockito, вы даже можете избавиться от метода initMocks()
:
@ExtendWith(MockitoExtension.class)
class MyTests {
@Mock
List<String> listOfStrings;
@Test
public void testMock() {
listOfStrings.add("a String");
}
}
Это потребует дополнительной зависимости, однако: "org.mockito: mockito-junit-jupiter: 3.2.4" (или любую версию, которую вы используете).