我遇到了与Mockito结合使用Java 8流有关的错误。事实证明,此行在运行测试时导致WrongTypeOfReturnValue异常。但是奇怪的是,Idea能够在调试期间评估此片段。
when(clientConfig_.getStringForEnums()).thenReturn(enumsList.stream().map(Enum::toString)
.collect(Collectors.toList()));
经过调查,我发现最初的原因与thenReturn()方法对Streams的使用有关。重构后,测试将成功运行。
List<String> strForEnums= listWithEnums.stream()
.map(Enum::toString)
.collect(Collectors.toList());
when(clientConfig_.getStringForEnums()).thenReturn(strForEnums);