2015-10-27 32 views
0

所以我使用java 8並試圖用PowerMock和Mockito編寫一些測試。我得到一個MethodNotFoundException與消息:

No methods matching the name(s) stream were found in the class hierarchy of class java.util.Arrays$ArrayList.

我仔細檢查了該ArrayList documentation它肯定看起來像它繼承stream從集合。這是PowerMockito的問題還是我錯過了什麼?

問題

PowerMockito.when(thing.call("services", "things")).thenReturn(Arrays.asList("testService")); // Doesn't matter if it's new ArrayList<String>())); 

行,然後有像這樣調用它

services.stream().filter(x -> //filter).collect(Collectors.toList()) 

編輯:經過進一步研究,這似乎是一個PowerMock問題。會喜歡解決方案。

回答

0

java.util.Arrays$ArrayListjava.util.Arrays的內部類,由Arrays.asList()返回,並且與java.util.ArrayList不相同。

如果找不到stream()方法,可能是因爲java.util.Arrays$ArrayList是私密的?

+0

這是一個亮點。但是現在我只用一個新的ArrayList ()來嘗試它,並且錯誤仍然顯示出來。 –

+0

發現問題。 powermock中的錯誤感謝您的幫助 –

相關問題