Reject static Bean Override fields for @⁠MockitoBean, @⁠TestBean, etc.

Closes gh-33922
This commit is contained in:
Sam Brannen
2024-11-20 11:22:26 +01:00
parent 8b66d3c79a
commit 3569cfe990
9 changed files with 38 additions and 16 deletions

View File

@@ -86,6 +86,14 @@ class BeanOverrideHandlerTests {
.withMessageContaining(faultyField.toString());
}
@Test // gh-33922
void forTestClassWithStaticBeanOverrideField() {
Field staticField = field(StaticBeanOverrideField.class, "message");
assertThatIllegalStateException()
.isThrownBy(() -> BeanOverrideHandler.forTestClass(StaticBeanOverrideField.class))
.withMessage("@BeanOverride field must not be static: " + staticField);
}
@Test
void getBeanNameIsNullByDefault() {
BeanOverrideHandler handler = createBeanOverrideHandler(field(ConfigA.class, "noQualifier"));
@@ -246,6 +254,12 @@ class BeanOverrideHandlerTests {
}
}
static class StaticBeanOverrideField {
@DummyBean
static String message;
}
static class ConfigA {
ExampleService noQualifier;