Support non-public BeanOverrideProcessors in the TestContext framework

Closes gh-32485
This commit is contained in:
Sam Brannen
2024-03-18 18:02:51 +01:00
parent 6df27644eb
commit 0ef5a4090b
4 changed files with 15 additions and 35 deletions

View File

@@ -26,7 +26,6 @@ import org.springframework.util.ReflectionUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatRuntimeException;
import static org.springframework.test.context.bean.override.example.ExampleBeanOverrideProcessor.DUPLICATE_TRIGGER;
/**
* Unit tests for {@link BeanOverrideParser}.
@@ -35,6 +34,9 @@ import static org.springframework.test.context.bean.override.example.ExampleBean
*/
class BeanOverrideParserTests {
// Copy of ExampleBeanOverrideProcessor.DUPLICATE_TRIGGER which is package-private.
private static final String DUPLICATE_TRIGGER = "DUPLICATE";
private final BeanOverrideParser parser = new BeanOverrideParser();

View File

@@ -23,7 +23,10 @@ import org.springframework.core.ResolvableType;
import org.springframework.test.context.bean.override.BeanOverrideProcessor;
import org.springframework.test.context.bean.override.OverrideMetadata;
public class ExampleBeanOverrideProcessor implements BeanOverrideProcessor {
// Intentionally NOT public
class ExampleBeanOverrideProcessor implements BeanOverrideProcessor {
static final String DUPLICATE_TRIGGER = "DUPLICATE";
private static final TestOverrideMetadata CONSTANT = new TestOverrideMetadata() {
@Override
@@ -32,8 +35,6 @@ public class ExampleBeanOverrideProcessor implements BeanOverrideProcessor {
}
};
public static final String DUPLICATE_TRIGGER = "CONSTANT";
@Override
public OverrideMetadata createMetadata(Field field, Annotation overrideAnnotation, ResolvableType typeToOverride) {
if (!(overrideAnnotation instanceof ExampleBeanOverrideAnnotation annotation)) {

View File

@@ -32,7 +32,7 @@ import org.springframework.util.StringUtils;
import static org.springframework.test.context.bean.override.example.ExampleBeanOverrideAnnotation.DEFAULT_VALUE;
public class TestOverrideMetadata extends OverrideMetadata {
class TestOverrideMetadata extends OverrideMetadata {
@Nullable
private final Method method;