Ensure @ContextHierarchy is never used with UseMainMethod

Fixes gh-33078
This commit is contained in:
Phillip Webb
2022-11-17 10:16:24 -08:00
parent b9e57c73b5
commit fafbefa35c
2 changed files with 28 additions and 0 deletions

View File

@@ -149,6 +149,8 @@ public class SpringBootContextLoader extends AbstractContextLoader implements Ao
if (useMainMethod == UseMainMethod.NEVER) {
return null;
}
Assert.state(mergedConfig.getParent() == null,
() -> "UseMainMethod.%s cannot be used with @ContextHierarchy tests".formatted(useMainMethod));
Class<?> springBootConfiguration = Arrays.stream(mergedConfig.getClasses())
.filter(this::isSpringBootConfiguration).findFirst().orElse(null);
Assert.state(springBootConfiguration != null || useMainMethod == UseMainMethod.WHEN_AVAILABLE,