Я пытаюсь смоделировать класс, производный от класса Apache Beam generi c, и вызвать его метод, используя Mockito.
Это мой настоящий класс:
public class MyClass extends DoFn<Entity, TableRow> {
public void processElement(ProcessContext c) {
// some business logic
c.output(new TableRow()) // c.output received a type defined in the derived class
}
}
И это тест с требуемым макетом:
DoFn<Entity, TableRow>.ProcessContext testContext = (DoFn<Entity, TableRow>.ProcessContext)mock(DoFn.ProcessContext.class);
when(textContext.output(any(TableRow.class))).thenReturn(42);
По какой-то причине я получаю сообщение об ошибке во второй строке. Это ошибка:
Required type:
T
Provided:
void
reason: no instance(s) of type variable(s) T exist so that void conforms to T
Есть решение для этого? Спасибо!