Polish 'Ignore JUnit annotations when caching test contexts'

See gh-28563
This commit is contained in:
Phillip Webb 2021-11-08 13:00:31 -08:00
parent 23876d8a32
commit 8a14e1e2e9
2 changed files with 24 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2021 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.
@ -386,7 +386,7 @@ class ImportsContextCustomizer implements ContextCustomizer {
}
/**
* {@link AnnotationFilter} for Spock annotations.
* {@link AnnotationFilter} for JUnit annotations.
*/
private static final class JunitAnnotationFilter implements AnnotationFilter {
@ -396,4 +396,5 @@ class ImportsContextCustomizer implements ContextCustomizer {
}
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2021 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,8 @@ import java.util.Collections;
import java.util.Set;
import kotlin.Metadata;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.spockframework.runtime.model.SpecMetadata;
import spock.lang.Issue;
@ -72,6 +74,12 @@ class ImportsContextCustomizerTests {
.isEqualTo(new ImportsContextCustomizer(SecondSpockLangAnnotatedTestClass.class));
}
@Test
void customizersForTestClassesWithDifferentJunitAnnotationsAreEqual() {
assertThat(new ImportsContextCustomizer(FirstJunitAnnotatedTestClass.class))
.isEqualTo(new ImportsContextCustomizer(SecondJunitAnnotatedTestClass.class));
}
@Import(TestImportSelector.class)
@Indicator1
static class FirstImportSelectorAnnotatedClass {
@ -126,6 +134,18 @@ class ImportsContextCustomizerTests {
}
@Nested
@Import(TestImportSelector.class)
static class FirstJunitAnnotatedTestClass {
}
@Tag("test")
@Import(TestImportSelector.class)
static class SecondJunitAnnotatedTestClass {
}
@Retention(RetentionPolicy.RUNTIME)
@interface Indicator1 {