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
This commit is contained in:
Sam Brannen
2019-08-22 13:16:14 +02:00
parent 05c270d916
commit 3e2b977d5d
7 changed files with 10 additions and 2 deletions

View File

@@ -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<Runnable> remainingTasks = concurrentExecutor.shutdownNow();
for (Runnable task : remainingTasks) {