diff --git a/spring-test/src/main/java/org/springframework/test/web/support/AbstractJsonPathAssertions.java b/spring-test/src/main/java/org/springframework/test/web/support/AbstractJsonPathAssertions.java index 2254d39abb02..b2e842aec090 100644 --- a/spring-test/src/main/java/org/springframework/test/web/support/AbstractJsonPathAssertions.java +++ b/spring-test/src/main/java/org/springframework/test/web/support/AbstractJsonPathAssertions.java @@ -58,7 +58,7 @@ protected AbstractJsonPathAssertions(B spec, String content, String expression, /** * Applies {@link JsonPathExpectationsHelper#assertValue(String, Object)}. */ - public B isEqualTo(Object expectedValue) { + public B isEqualTo(@Nullable Object expectedValue) { this.pathHelper.assertValue(this.content, expectedValue); return this.bodySpec; } diff --git a/spring-test/src/test/java/org/springframework/test/web/servlet/client/JsonPathAssertionTests.java b/spring-test/src/test/java/org/springframework/test/web/servlet/client/JsonPathAssertionTests.java index a63e649418d3..f8fee1020e58 100644 --- a/spring-test/src/test/java/org/springframework/test/web/servlet/client/JsonPathAssertionTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/servlet/client/JsonPathAssertionTests.java @@ -17,6 +17,7 @@ package org.springframework.test.web.servlet.client; import java.util.Arrays; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -192,6 +193,14 @@ void isArray() { .jsonPath("$.composers").isArray(); } + @Test + void isEqualToWithNull() { + client.get().uri("/music/null") + .exchange() + .expectBody() + .jsonPath("$.value").isEqualTo(null); + } + @RestController private static class MusicController { @GetMapping("/music/instruments") @@ -213,6 +222,15 @@ public MultiValueMap get() { return map; } + + @GetMapping("/music/null") + public Map getNull() { + Map map = new LinkedHashMap<>(); + + map.put("value", null); + + return map; + } } }