Interface ApplicationContextAssertProvider<C extends ApplicationContext>
- Type Parameters:
C- the application context type
- All Superinterfaces:
ApplicationContext,ApplicationEventPublisher,org.assertj.core.api.AssertProvider<ApplicationContextAssert<C>>,AutoCloseable,BeanFactory,Closeable,EnvironmentCapable,HierarchicalBeanFactory,ListableBeanFactory,MessageSource,ResourceLoader,ResourcePatternResolver
- All Known Subinterfaces:
AssertableApplicationContext,AssertableReactiveWebApplicationContext,AssertableWebApplicationContext
public interface ApplicationContextAssertProvider<C extends ApplicationContext>
extends ApplicationContext, org.assertj.core.api.AssertProvider<ApplicationContextAssert<C>>, Closeable
An
ApplicationContext that additionally supports AssertJ style assertions. Can
be used to decorate an existing application context or an application context that
failed to start.
Assertions can be applied using the standard AssertJ assertThat(...) style (see
ApplicationContextAssert for a complete list). For example:
assertThat(applicationContext).hasSingleBean(MyBean.class);
If the original ApplicationContext is needed for any reason the
getSourceApplicationContext() method can be used.
Any ApplicationContext method called on a context that has failed to start will
throw an IllegalStateException.
- Since:
- 2.0.0
- Author:
- Phillip Webb
- See Also:
-
Field Summary
Fields inherited from interface org.springframework.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX, FACTORY_BEAN_PREFIX_CHARFields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIXFields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.to prevent accidental use.voidclose()static <T extends ApplicationContextAssertProvider<C>,C extends ApplicationContext>
TFactory method to create a newApplicationContextAssertProviderinstance.static <T extends ApplicationContextAssertProvider<C>,C extends ApplicationContext>
Tget(Class<T> type, Class<? extends C> contextType, Supplier<? extends C> contextSupplier, Class<?>... additionalContextInterfaces) Factory method to create a newApplicationContextAssertProviderinstance.Return the original sourceApplicationContext.<T extends C>
TgetSourceApplicationContext(Class<T> requiredType) Return the original sourceApplicationContext, casting it to the requested type.Return the failure that caused application context to fail ornullif the context started without issue.Methods inherited from interface org.springframework.context.ApplicationContext
getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDateMethods inherited from interface org.springframework.context.ApplicationEventPublisher
publishEvent, publishEventMethods inherited from interface org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatchMethods inherited from interface org.springframework.core.env.EnvironmentCapable
getEnvironmentMethods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactoryMethods inherited from interface org.springframework.beans.factory.ListableBeanFactory
containsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotationMethods inherited from interface org.springframework.context.MessageSource
getMessage, getMessage, getMessageMethods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader, getResourceMethods inherited from interface org.springframework.core.io.support.ResourcePatternResolver
getResources
-
Method Details
-
assertThat
Deprecated.to prevent accidental use. Prefer standard AssertJassertThat(context)...calls instead.Return an assert for AspectJ.- Specified by:
assertThatin interfaceorg.assertj.core.api.AssertProvider<C extends ApplicationContext>- Returns:
- an AspectJ assert
-
getSourceApplicationContext
C getSourceApplicationContext()Return the original sourceApplicationContext.- Returns:
- the source application context
- Throws:
IllegalStateException- if the source context failed to start
-
getSourceApplicationContext
Return the original sourceApplicationContext, casting it to the requested type.- Type Parameters:
T- the context type- Parameters:
requiredType- the required context type- Returns:
- the source application context
- Throws:
IllegalStateException- if the source context failed to start
-
getStartupFailure
Throwable getStartupFailure()Return the failure that caused application context to fail ornullif the context started without issue.- Returns:
- the startup failure or
null
-
close
void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
get
static <T extends ApplicationContextAssertProvider<C>,C extends ApplicationContext> T get(Class<T> type, Class<? extends C> contextType, Supplier<? extends C> contextSupplier) Factory method to create a newApplicationContextAssertProviderinstance.- Type Parameters:
T- the assert provider typeC- the context type- Parameters:
type- the type ofApplicationContextAssertProviderrequired (must be an interface)contextType- the type ofApplicationContextbeing managed (must be an interface)contextSupplier- a supplier that will either return a fully configuredApplicationContextor throw an exception if the context fails to start.- Returns:
- a
ApplicationContextAssertProviderinstance
-
get
static <T extends ApplicationContextAssertProvider<C>,C extends ApplicationContext> T get(Class<T> type, Class<? extends C> contextType, Supplier<? extends C> contextSupplier, Class<?>... additionalContextInterfaces) Factory method to create a newApplicationContextAssertProviderinstance.- Type Parameters:
T- the assert provider typeC- the context type- Parameters:
type- the type ofApplicationContextAssertProviderrequired (must be an interface)contextType- the type ofApplicationContextbeing managed (must be an interface)contextSupplier- a supplier that will either return a fully configuredApplicationContextor throw an exception if the context fails to start.additionalContextInterfaces- and additional context interfaces to add to the proxy- Returns:
- a
ApplicationContextAssertProviderinstance - Since:
- 3.4.0
-