diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/validation/MessageSourceMessageInterpolatorIntegrationTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/validation/MessageSourceMessageInterpolatorIntegrationTests.java index 0bef3a0c9e..9d0809e03e 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/validation/MessageSourceMessageInterpolatorIntegrationTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/validation/MessageSourceMessageInterpolatorIntegrationTests.java @@ -20,13 +20,12 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Set; +import java.util.function.Supplier; import javax.validation.ConstraintViolation; import javax.validation.Validator; import javax.validation.constraints.NotNull; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.context.i18n.LocaleContextHolder; @@ -70,22 +69,6 @@ class MessageSourceMessageInterpolatorIntegrationTests { @NotNull(message = "\\\\{null}") private String escapeEscape; - private Locale defaultLocale; - - private Validator validator; - - @BeforeEach - void init() { - this.defaultLocale = Locale.getDefault(); - Locale.setDefault(Locale.ENGLISH); - this.validator = buildValidator(); - } - - @AfterEach - void restoreLocale() { - Locale.setDefault(this.defaultLocale); - } - @Test void defaultMessage() { assertThat(validate("defaultMessage")).containsExactly("must not be null"); @@ -133,12 +116,15 @@ class MessageSourceMessageInterpolatorIntegrationTests { } private List validate(String property) { - List messages = new ArrayList<>(); - Set> constraints = this.validator.validateProperty(this, property); - for (ConstraintViolation constraint : constraints) { - messages.add(constraint.getMessage()); - } - return messages; + return withEnglishLocale(() -> { + Validator validator = buildValidator(); + List messages = new ArrayList<>(); + Set> constraints = validator.validateProperty(this, property); + for (ConstraintViolation constraint : constraints) { + messages.add(constraint.getMessage()); + } + return messages; + }); } private static Validator buildValidator() { @@ -156,4 +142,15 @@ class MessageSourceMessageInterpolatorIntegrationTests { } } + private static T withEnglishLocale(Supplier supplier) { + Locale defaultLocale = Locale.getDefault(); + try { + Locale.setDefault(Locale.ENGLISH); + return supplier.get(); + } + finally { + Locale.setDefault(defaultLocale); + } + } + }