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

8e2ybdfx  于 2023-11-17  发布在  Spring
关注(0)|答案(1)|浏览(189)

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

  1. 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的。

  1. @Mock(answer = Answers.RETURNS_DEEP_STUBS)
  2. private MethodParameter methodParameter;
  3. MethodArgumentNotValidException method = new MethodArgumentNotValidException(methodParameter,bindingResult);
  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.7.12</version>
  5. <relativePath/> <!-- lookup parent from repository -->
  6. </parent>

的数据
有什么想法吗?

wkftcu5l

wkftcu5l1#

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

相关问题