Spring MVC 5 ResultMatcher jsonPath 空值

mrk*_*nic 3 spring spring-mvc spring-test mockito spring-boot

将我的休息服务从 Spring Boot 1.5.10 升级到 2.0.0 后,我遇到了之前通过的测试失败。

以下场景:

import org.mockito.internal.matchers.Null;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;

...

.andExpect(jsonPath("img").value(Null.NULL))
Run Code Online (Sandbox Code Playgroud)

现在在 Spring MVC 5 中失败并显示以下消息:

java.lang.AssertionError:JSON 路径“img”
预期:isNull() 实际:null

Spring MVC 5 中断言 the 值的正确方法jsonPathnull什么?

mrk*_*nic 15

回答我自己的问题,因为我自己找到了解决方案。

就我而言,您必须使用正确的匹配器 org.hamcrest.core.IsNull

所以我不得不改成

import org.hamcrest.core.IsNull;
...
andExpect(jsonPath("img").value(IsNull.nullValue()))
Run Code Online (Sandbox Code Playgroud)