Merge branch '6.2.x'
This commit is contained in:
@@ -34,9 +34,6 @@ import org.springframework.test.context.MergedContextConfiguration;
|
||||
*/
|
||||
class BeanOverrideContextCustomizer implements ContextCustomizer {
|
||||
|
||||
static final String REGISTRY_BEAN_NAME =
|
||||
"org.springframework.test.context.bean.override.internalBeanOverrideRegistry";
|
||||
|
||||
private static final String INFRASTRUCTURE_BEAN_NAME =
|
||||
"org.springframework.test.context.bean.override.internalBeanOverridePostProcessor";
|
||||
|
||||
@@ -60,7 +57,7 @@ class BeanOverrideContextCustomizer implements ContextCustomizer {
|
||||
// AOT processing, since a bean definition cannot be generated for the
|
||||
// Set<BeanOverrideHandler> argument that it accepts in its constructor.
|
||||
BeanOverrideRegistry beanOverrideRegistry = new BeanOverrideRegistry(beanFactory);
|
||||
beanFactory.registerSingleton(REGISTRY_BEAN_NAME, beanOverrideRegistry);
|
||||
beanFactory.registerSingleton(BeanOverrideRegistry.BEAN_NAME, beanOverrideRegistry);
|
||||
beanFactory.registerSingleton(INFRASTRUCTURE_BEAN_NAME,
|
||||
new BeanOverrideBeanFactoryPostProcessor(this.handlers, beanOverrideRegistry));
|
||||
beanFactory.registerSingleton(EARLY_INFRASTRUCTURE_BEAN_NAME,
|
||||
|
||||
@@ -29,8 +29,6 @@ import org.springframework.beans.factory.BeanFactory;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import static org.springframework.test.context.bean.override.BeanOverrideContextCustomizer.REGISTRY_BEAN_NAME;
|
||||
|
||||
/**
|
||||
* An internal class used to track {@link BeanOverrideHandler}-related state after
|
||||
* the bean factory has been processed and to provide lookup facilities to test
|
||||
@@ -46,6 +44,8 @@ import static org.springframework.test.context.bean.override.BeanOverrideContext
|
||||
*/
|
||||
class BeanOverrideRegistry {
|
||||
|
||||
static final String BEAN_NAME = "org.springframework.test.context.bean.override.internalBeanOverrideRegistry";
|
||||
|
||||
private static final Log logger = LogFactory.getLog(BeanOverrideRegistry.class);
|
||||
|
||||
|
||||
@@ -63,8 +63,8 @@ class BeanOverrideRegistry {
|
||||
Assert.notNull(beanFactory, "ConfigurableBeanFactory must not be null");
|
||||
this.beanFactory = beanFactory;
|
||||
BeanFactory parentBeanFactory = beanFactory.getParentBeanFactory();
|
||||
this.parent = (parentBeanFactory != null && parentBeanFactory.containsBean(REGISTRY_BEAN_NAME) ?
|
||||
parentBeanFactory.getBean(REGISTRY_BEAN_NAME, BeanOverrideRegistry.class) : null);
|
||||
this.parent = (parentBeanFactory != null && parentBeanFactory.containsBean(BEAN_NAME) ?
|
||||
parentBeanFactory.getBean(BEAN_NAME, BeanOverrideRegistry.class) : null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -98,14 +98,14 @@ public class BeanOverrideTestExecutionListener extends AbstractTestExecutionList
|
||||
Object testInstance = testContext.getTestInstance();
|
||||
ApplicationContext applicationContext = testContext.getApplicationContext();
|
||||
|
||||
Assert.state(applicationContext.containsBean(BeanOverrideContextCustomizer.REGISTRY_BEAN_NAME), () -> """
|
||||
Assert.state(applicationContext.containsBean(BeanOverrideRegistry.BEAN_NAME), () -> """
|
||||
Test class %s declares @BeanOverride fields %s, but no BeanOverrideHandler has been registered. \
|
||||
If you are using @ContextHierarchy, ensure that context names for bean overrides match \
|
||||
configured @ContextConfiguration names.""".formatted(testContext.getTestClass().getSimpleName(),
|
||||
handlers.stream().map(BeanOverrideHandler::getField).filter(Objects::nonNull)
|
||||
.map(Field::getName).toList()));
|
||||
BeanOverrideRegistry beanOverrideRegistry = applicationContext
|
||||
.getBean(BeanOverrideContextCustomizer.REGISTRY_BEAN_NAME, BeanOverrideRegistry.class);
|
||||
BeanOverrideRegistry beanOverrideRegistry = applicationContext.getBean(BeanOverrideRegistry.BEAN_NAME,
|
||||
BeanOverrideRegistry.class);
|
||||
|
||||
for (BeanOverrideHandler handler : handlers) {
|
||||
Field field = handler.getField();
|
||||
|
||||
Reference in New Issue
Block a user