我試圖嘲弄其中包含的方法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