diff --git a/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideBeanFactoryPostProcessor.java b/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideBeanFactoryPostProcessor.java index 4be7503b6f3e..119debb9c8d3 100644 --- a/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideBeanFactoryPostProcessor.java +++ b/spring-test/src/main/java/org/springframework/test/context/bean/override/BeanOverrideBeanFactoryPostProcessor.java @@ -242,6 +242,9 @@ private void wrapBean(ConfigurableListableBeanFactory beanFactory, BeanOverrideH if (candidateCount == 0) { message += "there are no beans of type %s (as required by field '%s.%s')." .formatted(beanType, field.getDeclaringClass().getSimpleName(), field.getName()); + message += " If the bean is defined from a @Bean method," + + " please make sure the return type is the most specific type (recommended) or type can be assigned to %s." + .formatted(beanType); } else { message += "found %d beans of type %s (as required by field '%s.%s'): %s" diff --git a/spring-test/src/test/java/org/springframework/test/context/bean/override/mockito/MockitoSpyBeanConfigurationErrorTests.java b/spring-test/src/test/java/org/springframework/test/context/bean/override/mockito/MockitoSpyBeanConfigurationErrorTests.java index efdbf8873334..23b42908a7ff 100644 --- a/spring-test/src/test/java/org/springframework/test/context/bean/override/mockito/MockitoSpyBeanConfigurationErrorTests.java +++ b/spring-test/src/test/java/org/springframework/test/context/bean/override/mockito/MockitoSpyBeanConfigurationErrorTests.java @@ -50,7 +50,7 @@ void contextCustomizerCannotBeCreatedWithNoSuchBeanType() { BeanOverrideContextCustomizerTestUtils.customizeApplicationContext(ByTypeSingleLookup.class, context); assertThatIllegalStateException() .isThrownBy(context::refresh) - .withMessage(""" + .withMessageStartingWith(""" Unable to select a bean to wrap: there are no beans of type java.lang.String \ (as required by field 'ByTypeSingleLookup.example')."""); }