From aa6e762dcfc5250bd6cffe84cef9e3003b6797ce Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Tue, 20 Aug 2019 14:47:23 +0200 Subject: [PATCH] Re-enable shadowed, overridden @Test methods Due to a bug (or "unintentional feature") in JUnit 4, overridden test methods not annotated with @Test are still executed as test methods; however, JUnit Jupiter does not support that. Thus, prior to this commit, some overridden test methods in spring-core 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 --- .../org/springframework/core/codec/ByteArrayEncoderTests.java | 2 ++ .../springframework/core/codec/CharSequenceEncoderTests.java | 2 ++ .../org/springframework/core/codec/DataBufferDecoderTests.java | 2 ++ .../org/springframework/core/codec/DataBufferEncoderTests.java | 1 + .../org/springframework/core/codec/ResourceDecoderTests.java | 1 + .../org/springframework/core/codec/ResourceEncoderTests.java | 1 + .../classreading/AnnotationMetadataReadingVisitorTests.java | 3 +++ .../type/classreading/MethodMetadataReadingVisitorTests.java | 3 +++ 8 files changed, 15 insertions(+) diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java index d217625a65a..2f91a1c6258 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteArrayEncoderTests.java @@ -55,6 +55,7 @@ class ByteArrayEncoderTests extends AbstractEncoderTestCase { } @Override + @Test public void encode() { Flux input = Flux.just(this.fooBytes, this.barBytes); @@ -63,4 +64,5 @@ class ByteArrayEncoderTests extends AbstractEncoderTestCase { .consumeNextWith(expectBytes(this.barBytes)) .verifyComplete()); } + } diff --git a/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java index 240412d736e..786c6d4bf50 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/CharSequenceEncoderTests.java @@ -46,6 +46,7 @@ class CharSequenceEncoderTests extends AbstractEncoderTestCase input = Flux.just(this.foo, this.bar); diff --git a/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java index 97194500387..e0936af2511 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/DataBufferDecoderTests.java @@ -55,6 +55,7 @@ class DataBufferDecoderTests extends AbstractDecoderTestCase } @Override + @Test public void decode() { Flux input = Flux.just( this.bufferFactory.wrap(this.fooBytes), @@ -67,6 +68,7 @@ class DataBufferDecoderTests extends AbstractDecoderTestCase } @Override + @Test public void decodeToMono() throws Exception { Flux input = Flux.concat( dataBuffer(this.fooBytes), diff --git a/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java index adc815b51df..70e71368dad 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/DataBufferEncoderTests.java @@ -57,6 +57,7 @@ class DataBufferEncoderTests extends AbstractEncoderTestCase } @Override + @Test public void encode() throws Exception { Flux input = Flux.just(this.fooBytes, this.barBytes) .flatMap(bytes -> Mono.defer(() -> { diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java index d0559d2675d..f7b54d913e4 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java @@ -79,6 +79,7 @@ class ResourceDecoderTests extends AbstractDecoderTestCase { } @Override + @Test public void decodeToMono() { Flux input = Flux.concat( dataBuffer(this.fooBytes), diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java index 14c11fdd227..c2fdf4d15ec 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java @@ -64,6 +64,7 @@ class ResourceEncoderTests extends AbstractEncoderTestCase { } @Override + @Test public void encode() { Flux input = Flux.just(new ByteArrayResource(this.bytes)); diff --git a/spring-core/src/test/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitorTests.java b/spring-core/src/test/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitorTests.java index 341698da78a..fc340761cdb 100644 --- a/spring-core/src/test/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitorTests.java +++ b/spring-core/src/test/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitorTests.java @@ -19,6 +19,8 @@ package org.springframework.core.type.classreading; import java.io.BufferedInputStream; import java.io.InputStream; +import org.junit.jupiter.api.Test; + import org.springframework.asm.ClassReader; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.Resource; @@ -61,6 +63,7 @@ class AnnotationMetadataReadingVisitorTests extends AbstractAnnotationMetadataTe } @Override + @Test public void getAnnotationsReturnsDirectAnnotations() { assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy( super::getAnnotationsReturnsDirectAnnotations); diff --git a/spring-core/src/test/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitorTests.java b/spring-core/src/test/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitorTests.java index c3cd1456a0e..0ed4ed6d2e0 100644 --- a/spring-core/src/test/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitorTests.java +++ b/spring-core/src/test/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitorTests.java @@ -19,6 +19,8 @@ package org.springframework.core.type.classreading; import java.io.BufferedInputStream; import java.io.InputStream; +import org.junit.jupiter.api.Test; + import org.springframework.asm.ClassReader; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.Resource; @@ -61,6 +63,7 @@ class MethodMetadataReadingVisitorTests extends AbstractMethodMetadataTests { } @Override + @Test public void getAnnotationsReturnsDirectAnnotations() { assertThatExceptionOfType(UnsupportedOperationException.class).isThrownBy( super::getAnnotationsReturnsDirectAnnotations);