Я пытаюсь издеваться класс, который содержит лямбда-выражения в методе, -как в примере ниже - и он терпит неудачу в инициализации:Дразнящий класс, который содержит лямбда-выражения с PowerMock
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyClass.class)
public class MyClassTest {}
public class MyClass {
public void letsSeeLambda() {
this.forTesting((a, b) -> true);
}
private void forTesting(Filter filter) {
filter.process(5, 6);
}
}
в появляется ошибка:
java.lang.IllegalStateException: Не удалось преобразовать класс с именем ..... MyClass. Причина: java.io.IOException: неверный постоянный тип: 18 на ...
Я использую powermock 1.6.3, JUnit 4.12, Mockito 1.10.19
Если бы я сделать это в очевидно, что это новый проект. Проблема возникает только в существующем проекте, над которым я работаю.
В чем моя проблема?
Я не вижу никаких насмешек. Я что-то пропустил? Lambdas - это просто синтаксический сахар для одного класса методов, поэтому вы можете определенно имитировать их, но не, если вы не можете предоставить их в качестве параметра. –
Ошибка при инициализации. Это означает, что он не приходит, чтобы увидеть даже методы тестирования. – user3657103