From 3e2b977d5dfaf09847cf1c1c3fe88d42d90976fb Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Thu, 22 Aug 2019 13:16:14 +0200 Subject: [PATCH] Re-enable shadowed, overridden @Test and lifecycle methods Due to a bug (or "unintentional feature") in JUnit 4, overridden test and lifecycle methods not annotated with @Test, @Before, @After, etc. are still executed as test methods and lifecycle methods; however, JUnit Jupiter does not support that. Thus, prior to this commit, some overridden test and lifecycle methods were no longer executed after the migration from JUnit 4 to JUnit Jupiter. This commit addresses this issue for such known use cases, but there are likely other such use cases within Spring's test suite. See gh-23451 --- .../scheduling/concurrent/ConcurrentTaskExecutorTests.java | 4 +++- .../jms/annotation/AnnotationDrivenNamespaceTests.java | 1 + .../org/springframework/jms/annotation/EnableJmsTests.java | 1 + .../http/codec/cbor/Jackson2CborDecoderTests.java | 1 + .../http/codec/json/Jackson2JsonDecoderTests.java | 1 + .../http/codec/json/Jackson2JsonEncoderTests.java | 2 +- .../http/codec/json/Jackson2SmileDecoderTests.java | 2 ++ 7 files changed, 10 insertions(+), 2 deletions(-) diff --git a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java index 48e02e1ebeb..ae7e011a7ec 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import java.util.concurrent.RunnableFuture; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.springframework.core.task.AsyncListenableTaskExecutor; @@ -44,6 +45,7 @@ public class ConcurrentTaskExecutorTests extends AbstractSchedulingTaskExecutorT } @Override + @AfterEach public void shutdownExecutor() { List remainingTasks = concurrentExecutor.shutdownNow(); for (Runnable task : remainingTasks) { diff --git a/spring-jms/src/test/java/org/springframework/jms/annotation/AnnotationDrivenNamespaceTests.java b/spring-jms/src/test/java/org/springframework/jms/annotation/AnnotationDrivenNamespaceTests.java index 030acedaba4..b0e5864641f 100644 --- a/spring-jms/src/test/java/org/springframework/jms/annotation/AnnotationDrivenNamespaceTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/annotation/AnnotationDrivenNamespaceTests.java @@ -52,6 +52,7 @@ public class AnnotationDrivenNamespaceTests extends AbstractJmsAnnotationDrivenT } @Override + @Test public void fullConfigurableConfiguration() { ApplicationContext context = new ClassPathXmlApplicationContext( "annotation-driven-full-configurable-config.xml", getClass()); diff --git a/spring-jms/src/test/java/org/springframework/jms/annotation/EnableJmsTests.java b/spring-jms/src/test/java/org/springframework/jms/annotation/EnableJmsTests.java index b584bb493ab..4a550dff35c 100644 --- a/spring-jms/src/test/java/org/springframework/jms/annotation/EnableJmsTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/annotation/EnableJmsTests.java @@ -71,6 +71,7 @@ public class EnableJmsTests extends AbstractJmsAnnotationDrivenTests { } @Override + @Test public void fullConfigurableConfiguration() { ConfigurableApplicationContext context = new AnnotationConfigApplicationContext( EnableJmsFullConfigurableConfig.class, FullConfigurableBean.class); diff --git a/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java index 3d4487c7731..2b3323ca057 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/cbor/Jackson2CborDecoderTests.java @@ -90,6 +90,7 @@ public class Jackson2CborDecoderTests extends AbstractDecoderTestCase expected = Arrays.asList(pojo1, pojo2); diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java index 6f3611a404b..f572980bcb5 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonDecoderTests.java @@ -115,6 +115,7 @@ public class Jackson2JsonDecoderTests extends AbstractDecoderTestCase input = Flux.concat( stringBuffer("[{\"bar\":\"b1\",\"foo\":\"f1\"},"), diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java index b3af0b6138e..c54c31dca2b 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2JsonEncoderTests.java @@ -57,7 +57,6 @@ import static org.springframework.http.codec.json.Jackson2CodecSupport.JSON_VIEW */ public class Jackson2JsonEncoderTests extends AbstractEncoderTestCase { - public Jackson2JsonEncoderTests() { super(new Jackson2JsonEncoder()); } @@ -78,6 +77,7 @@ public class Jackson2JsonEncoderTests extends AbstractEncoderTestCase input = Flux.just(new Pojo("foo", "bar"), new Pojo("foofoo", "barbar"), diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java index 762aea61454..30d9954aa77 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/Jackson2SmileDecoderTests.java @@ -67,6 +67,7 @@ public class Jackson2SmileDecoderTests extends AbstractDecoderTestCase input = Flux.just(this.pojo1, this.pojo2) .map(this::writeObject) @@ -90,6 +91,7 @@ public class Jackson2SmileDecoderTests extends AbstractDecoderTestCase expected = Arrays.asList(pojo1, pojo2);