org.springframework.core.MethodParameter.getExecutable()使用java 17实现指针异常

8e2ybdfx  于 7个月前  发布在  Spring
关注(0)|答案(1)|浏览(102)

目前我正在将项目升级到java 17,由于某种原因,我在junit测试中遇到了一个问题,当我使用java 11时没有发生:

java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Executable.toGenericString()" because the return value of "org.springframework.core.MethodParameter.getExecutable()" is null

字符串
junit测试是关于测试MethodArgumentNotValidException case的。

@Mock(answer = Answers.RETURNS_DEEP_STUBS)
   private MethodParameter methodParameter;

   MethodArgumentNotValidException method = new MethodArgumentNotValidException(methodParameter,bindingResult);
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.12</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

的数据
有什么想法吗?

wkftcu5l

wkftcu5l1#

这是因为您的代码试图在logger或printstacktrace中将methodParameter转换为字符串,并且mock已经实现了这种情况下的返回。

相关问题