diff --git a/spring-boot/src/test/java/org/springframework/boot/jackson/JsonComponentModuleTests.java b/spring-boot/src/test/java/org/springframework/boot/jackson/JsonComponentModuleTests.java index b4dad22fd3..3f65dd9a20 100644 --- a/spring-boot/src/test/java/org/springframework/boot/jackson/JsonComponentModuleTests.java +++ b/spring-boot/src/test/java/org/springframework/boot/jackson/JsonComponentModuleTests.java @@ -18,6 +18,7 @@ package org.springframework.boot.jackson; import com.fasterxml.jackson.databind.Module; import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.After; import org.junit.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @@ -31,32 +32,35 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class JsonComponentModuleTests { + private AnnotationConfigApplicationContext context; + + @After + public void closeContext() { + if (this.context != null) { + this.context.close(); + } + } + @Test public void moduleShouldRegisterSerializers() throws Exception { - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( - JsonComponentModule.class, OnlySerializer.class); - JsonComponentModule module = context.getBean(JsonComponentModule.class); + load(OnlySerializer.class); + JsonComponentModule module = this.context.getBean(JsonComponentModule.class); assertSerialize(module); - context.close(); } @Test public void moduleShouldRegisterDeserializers() throws Exception { - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( - JsonComponentModule.class, OnlyDeserializer.class); - JsonComponentModule module = context.getBean(JsonComponentModule.class); + load(OnlyDeserializer.class); + JsonComponentModule module = this.context.getBean(JsonComponentModule.class); assertDeserialize(module); - context.close(); } @Test public void moduleShouldRegisterInnerClasses() throws Exception { - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( - JsonComponentModule.class, NameAndAgeJsonComponent.class); - JsonComponentModule module = context.getBean(JsonComponentModule.class); + load(NameAndAgeJsonComponent.class); + JsonComponentModule module = this.context.getBean(JsonComponentModule.class); assertSerialize(module); assertDeserialize(module); - context.close(); } @Test @@ -68,6 +72,14 @@ public class JsonComponentModuleTests { context.close(); } + private void load(Class... configs) { + AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); + ctx.register(configs); + ctx.register(JsonComponentModule.class); + ctx.refresh(); + this.context = ctx; + } + private void assertSerialize(Module module) throws Exception { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(module);