После перехода на Java 1.8. JDK некоторые из моих тестовых классов не скомпилируются. Пример класса реализации:
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
public class ImplClass {
public <T> Future<T> executeTask(final Callable<T> task) {
return null;
}
}
И вот тестовый класс с Mockito:
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.concurrent.Callable;
import org.junit.Before;
public class TestClass {
private ImplClass implClassMock;
@Before
public void setUp() {
implClassMock = mock(ImplClass.class);
when(implClassMock.executeTask(any(Callable.class))).thenReturn(null);
}
}
Я получаю сообщение об ошибке: The method executeTask(Callable<T>) in the type ImplClass is not applicable for the arguments (Callable)
Переключение на java-компилятор 1.7 все в порядке.
Любая идея, как решить эту проблему?