diff --git a/spring-web/src/test/java/org/springframework/web/bind/MethodArgumentNotValidExceptionTests.java b/spring-web/src/test/java/org/springframework/web/bind/MethodArgumentNotValidExceptionTests.java index 4c05b784dca..3d71f1f133d 100644 --- a/spring-web/src/test/java/org/springframework/web/bind/MethodArgumentNotValidExceptionTests.java +++ b/spring-web/src/test/java/org/springframework/web/bind/MethodArgumentNotValidExceptionTests.java @@ -24,6 +24,7 @@ import jakarta.validation.constraints.Min; import jakarta.validation.constraints.Size; import org.junit.jupiter.api.Test; +import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.context.support.StaticMessageSource; import org.springframework.core.MethodParameter; import org.springframework.validation.BeanPropertyBindingResult; @@ -36,6 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * Unit tests for {@link MethodArgumentNotValidException}. + * * @author Rossen Stoyanchev */ public class MethodArgumentNotValidExceptionTests { @@ -68,17 +70,23 @@ public class MethodArgumentNotValidExceptionTests { } private static MethodArgumentNotValidException createException(Person person) throws Exception { - LocalValidatorFactoryBean validatorBean = new LocalValidatorFactoryBean(); - validatorBean.afterPropertiesSet(); - SpringValidatorAdapter validator = new SpringValidatorAdapter(validatorBean); + LocaleContextHolder.setLocale(Locale.UK); + try { + LocalValidatorFactoryBean validatorBean = new LocalValidatorFactoryBean(); + validatorBean.afterPropertiesSet(); + SpringValidatorAdapter validator = new SpringValidatorAdapter(validatorBean); - BindingResult result = new BeanPropertyBindingResult(person, "person"); - validator.validate(person, result); + BindingResult result = new BeanPropertyBindingResult(person, "person"); + validator.validate(person, result); - Method method = Handler.class.getDeclaredMethod("handle", Person.class); - MethodParameter parameter = new MethodParameter(method, 0); + Method method = Handler.class.getDeclaredMethod("handle", Person.class); + MethodParameter parameter = new MethodParameter(method, 0); - return new MethodArgumentNotValidException(parameter, result); + return new MethodArgumentNotValidException(parameter, result); + } + finally { + LocaleContextHolder.resetLocaleContext(); + } } diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MethodValidationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MethodValidationTests.java index 704bbe1cb2b..619a3e759cb 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MethodValidationTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/method/annotation/MethodValidationTests.java @@ -19,6 +19,7 @@ package org.springframework.web.reactive.result.method.annotation; import java.lang.reflect.Method; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Set; import java.util.function.Consumer; @@ -27,12 +28,14 @@ import jakarta.validation.Valid; import jakarta.validation.constraints.Size; import jakarta.validation.executable.ExecutableValidator; import jakarta.validation.metadata.BeanDescriptor; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; import org.springframework.context.MessageSourceResolvable; +import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.http.MediaType; import org.springframework.util.Assert; import org.springframework.validation.Errors; @@ -63,12 +66,14 @@ import static org.mockito.Mockito.mock; /** * Method validation tests for Spring MVC controller methods. + * *

When adding tests, consider the following others: *

+ * * @author Rossen Stoyanchev */ public class MethodValidationTests { @@ -85,6 +90,8 @@ public class MethodValidationTests { @BeforeEach void setup() throws Exception { + LocaleContextHolder.setDefaultLocale(Locale.UK); + LocalValidatorFactoryBean validatorBean = new LocalValidatorFactoryBean(); validatorBean.afterPropertiesSet(); this.jakartaValidator = new InvocationCountingValidator(validatorBean); @@ -105,6 +112,11 @@ public class MethodValidationTests { return handlerAdapter; } + @AfterEach + void reset() { + LocaleContextHolder.setDefaultLocale(null); + } + @Test void modelAttribute() {