我试图嘲弄其中包含的方法lambda表达式类lambda表达式,在下面的例子 - 作为一类 - 它在初始化失败:惩戒包含与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,19年1月10日的Mockito
如果我这样做的很明显,它是一个新项目。这个问题只发生在我正在进行的现有项目中。
我的问题是什么?
我没有看到任何嘲笑。我错过了什么? Lambdas只是一种方法类的语法糖,所以你可以肯定地嘲笑它们,但是如果你不能提供它们作为参数,那么就不能。 –
错误在初始化。这意味着它甚至无法看到甚至是测试方法。 – user3657103