diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/request/AbstractMockHttpServletRequestBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/request/AbstractMockHttpServletRequestBuilder.java index bcc47e2b491..8d688e7bfd4 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/request/AbstractMockHttpServletRequestBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/request/AbstractMockHttpServletRequestBuilder.java @@ -826,7 +826,7 @@ public final MockHttpServletRequest buildRequest(ServletContext servletContext) addRequestParams(request, UriComponentsBuilder.fromUri(uri).build().getQueryParams()); this.parameters.forEach((name, values) -> - request.setParameter(name, values.toArray(new String[0]))); + request.addParameter(name, values.toArray(new String[0]))); if (!this.formFields.isEmpty()) { if (this.content != null && this.content.length > 0) { diff --git a/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java b/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java index f62cce7c551..6ba183d9aa4 100644 --- a/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/servlet/request/MockHttpServletRequestBuilderTests.java @@ -273,6 +273,15 @@ void queryParameterWithoutValues() { assertThat(request.getParameterMap().get("foo")).containsExactly(); } + @Test + void queryParametersWithUriAndQueryParam() { + this.builder = new MockHttpServletRequestBuilder(GET).uri("/path?param1=value1"); + this.builder.queryParam("param1", "value2"); + MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); + + assertThat(request.getParameterMap().get("param1")).containsExactly("value1", "value2"); + } + @Test void queryParameterMap() { this.builder = new MockHttpServletRequestBuilder(GET).uri("/");