|
53 | 53 | import org.springframework.test.context.aot.samples.basic.BasicSpringTestNGTests;
|
54 | 54 | import org.springframework.test.context.aot.samples.basic.BasicSpringVintageTests;
|
55 | 55 | import org.springframework.test.context.aot.samples.bean.override.EasyMockBeanJupiterTests;
|
| 56 | +import org.springframework.test.context.aot.samples.bean.override.GreetingServiceFactory; |
56 | 57 | import org.springframework.test.context.aot.samples.bean.override.MockitoBeanJupiterTests;
|
| 58 | +import org.springframework.test.context.aot.samples.bean.override.TestBeanJupiterTests; |
57 | 59 | import org.springframework.test.context.aot.samples.common.GreetingService;
|
58 | 60 | import org.springframework.test.context.aot.samples.common.MessageService;
|
59 | 61 | import org.springframework.test.context.aot.samples.jdbc.SqlScriptsSpringJupiterTests;
|
@@ -108,6 +110,7 @@ void endToEndTests() {
|
108 | 110 | BasicSpringVintageTests.class,
|
109 | 111 | EasyMockBeanJupiterTests.class,
|
110 | 112 | MockitoBeanJupiterTests.class,
|
| 113 | + TestBeanJupiterTests.class, |
111 | 114 | SqlScriptsSpringJupiterTests.class,
|
112 | 115 | XmlSpringJupiterTests.class,
|
113 | 116 | WebSpringJupiterTests.class);
|
@@ -162,6 +165,9 @@ void endToEndTests() {
|
162 | 165 | else if (testClass.getPackageName().contains("jdbc")) {
|
163 | 166 | assertContextForJdbcTests(context);
|
164 | 167 | }
|
| 168 | + else if (testClass.equals(TestBeanJupiterTests.class)) { |
| 169 | + assertContextForTestBeanOverrideTests(context); |
| 170 | + } |
165 | 171 | else if (testClass.equals(EasyMockBeanJupiterTests.class)) {
|
166 | 172 | assertContextForEasyMockBeanOverrideTests(context);
|
167 | 173 | }
|
@@ -275,12 +281,18 @@ private static void assertRuntimeHints(RuntimeHints runtimeHints) {
|
275 | 281 |
|
276 | 282 | // @BeanOverride(value = ...)
|
277 | 283 | Stream.of(
|
| 284 | + // @TestBean |
| 285 | + "org.springframework.test.context.bean.override.convention.TestBeanOverrideProcessor", |
278 | 286 | // @MockitoBean
|
279 | 287 | "org.springframework.test.context.bean.override.mockito.MockitoBeanOverrideProcessor",
|
280 | 288 | // @EasyMockBean
|
281 | 289 | "org.springframework.test.context.bean.override.easymock.EasyMockBeanOverrideProcessor"
|
282 | 290 | ).forEach(type -> assertReflectionRegistered(runtimeHints, type, INVOKE_DECLARED_CONSTRUCTORS));
|
283 | 291 |
|
| 292 | + // @TestBean(methodName = <fully-qualified method name>) |
| 293 | + assertThat(reflection().onMethod(GreetingServiceFactory.class, "createEnigmaGreetingService")) |
| 294 | + .accepts(runtimeHints); |
| 295 | + |
284 | 296 | // GenericApplicationContext.preDetermineBeanTypes() should have registered proxy
|
285 | 297 | // hints for the EasyMock interface-based mocks.
|
286 | 298 | assertProxyRegistered(runtimeHints, GreetingService.class);
|
@@ -346,6 +358,11 @@ private void assertContextForJdbcTests(ApplicationContext context) {
|
346 | 358 | assertThat(context.getBean(DataSource.class)).as("DataSource").isNotNull();
|
347 | 359 | }
|
348 | 360 |
|
| 361 | + private void assertContextForTestBeanOverrideTests(ApplicationContext context) { |
| 362 | + GreetingService greetingService = context.getBean(GreetingService.class); |
| 363 | + assertThat(greetingService.greeting()).isEqualTo("enigma"); |
| 364 | + } |
| 365 | + |
349 | 366 | private void assertContextForEasyMockBeanOverrideTests(ApplicationContext context) {
|
350 | 367 | GreetingService greetingService = context.getBean(GreetingService.class);
|
351 | 368 | MessageService messageService = context.getBean(MessageService.class);
|
@@ -512,29 +529,39 @@ record Mapping(MergedContextConfiguration mergedConfig, ClassName className) {
|
512 | 529 | "org/springframework/test/context/aot/samples/bean/override/MockitoBeanJupiterTests__TestContext006_BeanDefinitions.java",
|
513 | 530 | "org/springframework/test/context/aot/samples/bean/override/MockitoBeanJupiterTests__TestContext006_BeanFactoryRegistrations.java",
|
514 | 531 | "org/springframework/test/context/support/DynamicPropertyRegistrarBeanInitializer__TestContext006_BeanDefinitions.java",
|
515 |
| - // SqlScriptsSpringJupiterTests |
| 532 | + |
| 533 | + // TestBeanJupiterTests |
516 | 534 | "org/springframework/context/event/DefaultEventListenerFactory__TestContext007_BeanDefinitions.java",
|
517 | 535 | "org/springframework/context/event/EventListenerMethodProcessor__TestContext007_BeanDefinitions.java",
|
518 |
| - "org/springframework/test/context/aot/samples/jdbc/SqlScriptsSpringJupiterTests__TestContext007_ApplicationContextInitializer.java", |
519 |
| - "org/springframework/test/context/aot/samples/jdbc/SqlScriptsSpringJupiterTests__TestContext007_BeanFactoryRegistrations.java", |
520 |
| - "org/springframework/test/context/jdbc/EmptyDatabaseConfig__TestContext007_BeanDefinitions.java", |
| 536 | + "org/springframework/test/context/aot/samples/bean/override/TestBeanJupiterTests__TestContext007_ApplicationContextInitializer.java", |
| 537 | + "org/springframework/test/context/aot/samples/bean/override/TestBeanJupiterTests__TestContext007_BeanFactoryRegistrations.java", |
521 | 538 | "org/springframework/test/context/support/DynamicPropertyRegistrarBeanInitializer__TestContext007_BeanDefinitions.java",
|
522 |
| - // WebSpringJupiterTests |
| 539 | + |
| 540 | + // SqlScriptsSpringJupiterTests |
523 | 541 | "org/springframework/context/event/DefaultEventListenerFactory__TestContext008_BeanDefinitions.java",
|
524 | 542 | "org/springframework/context/event/EventListenerMethodProcessor__TestContext008_BeanDefinitions.java",
|
525 |
| - "org/springframework/test/context/aot/samples/web/WebSpringJupiterTests__TestContext008_ApplicationContextInitializer.java", |
526 |
| - "org/springframework/test/context/aot/samples/web/WebSpringJupiterTests__TestContext008_BeanFactoryRegistrations.java", |
527 |
| - "org/springframework/test/context/aot/samples/web/WebTestConfiguration__TestContext008_BeanDefinitions.java", |
| 543 | + "org/springframework/test/context/aot/samples/jdbc/SqlScriptsSpringJupiterTests__TestContext008_ApplicationContextInitializer.java", |
| 544 | + "org/springframework/test/context/aot/samples/jdbc/SqlScriptsSpringJupiterTests__TestContext008_BeanFactoryRegistrations.java", |
| 545 | + "org/springframework/test/context/jdbc/EmptyDatabaseConfig__TestContext008_BeanDefinitions.java", |
528 | 546 | "org/springframework/test/context/support/DynamicPropertyRegistrarBeanInitializer__TestContext008_BeanDefinitions.java",
|
529 |
| - "org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration__TestContext008_Autowiring.java", |
530 |
| - "org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration__TestContext008_BeanDefinitions.java", |
531 |
| - // XmlSpringJupiterTests |
| 547 | + |
| 548 | + // WebSpringJupiterTests |
532 | 549 | "org/springframework/context/event/DefaultEventListenerFactory__TestContext009_BeanDefinitions.java",
|
533 | 550 | "org/springframework/context/event/EventListenerMethodProcessor__TestContext009_BeanDefinitions.java",
|
534 |
| - "org/springframework/test/context/aot/samples/common/DefaultMessageService__TestContext009_BeanDefinitions.java", |
535 |
| - "org/springframework/test/context/aot/samples/xml/XmlSpringJupiterTests__TestContext009_ApplicationContextInitializer.java", |
536 |
| - "org/springframework/test/context/aot/samples/xml/XmlSpringJupiterTests__TestContext009_BeanFactoryRegistrations.java", |
| 551 | + "org/springframework/test/context/aot/samples/web/WebSpringJupiterTests__TestContext009_ApplicationContextInitializer.java", |
| 552 | + "org/springframework/test/context/aot/samples/web/WebSpringJupiterTests__TestContext009_BeanFactoryRegistrations.java", |
| 553 | + "org/springframework/test/context/aot/samples/web/WebTestConfiguration__TestContext009_BeanDefinitions.java", |
537 | 554 | "org/springframework/test/context/support/DynamicPropertyRegistrarBeanInitializer__TestContext009_BeanDefinitions.java",
|
| 555 | + "org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration__TestContext009_Autowiring.java", |
| 556 | + "org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration__TestContext009_BeanDefinitions.java", |
| 557 | + |
| 558 | + // XmlSpringJupiterTests |
| 559 | + "org/springframework/context/event/DefaultEventListenerFactory__TestContext010_BeanDefinitions.java", |
| 560 | + "org/springframework/context/event/EventListenerMethodProcessor__TestContext010_BeanDefinitions.java", |
| 561 | + "org/springframework/test/context/aot/samples/common/DefaultMessageService__TestContext010_BeanDefinitions.java", |
| 562 | + "org/springframework/test/context/aot/samples/xml/XmlSpringJupiterTests__TestContext010_ApplicationContextInitializer.java", |
| 563 | + "org/springframework/test/context/aot/samples/xml/XmlSpringJupiterTests__TestContext010_BeanFactoryRegistrations.java", |
| 564 | + "org/springframework/test/context/support/DynamicPropertyRegistrarBeanInitializer__TestContext010_BeanDefinitions.java" |
538 | 565 | };
|
539 | 566 |
|
540 | 567 | }
|
0 commit comments