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
Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
-
Method Summary
Modifier and TypeMethodDescriptionDeprecated.to prevent accidental use.void
close()
static <T extends ApplicationContextAssertProvider<C>,
C extends ApplicationContext>
TFactory method to create a newApplicationContextAssertProvider
instance.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 newApplicationContextAssertProvider
instance.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 ornull
if the context started without issue.Methods inherited from interface org.springframework.context.ApplicationContext
getApplicationName, getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
Methods inherited from interface org.springframework.context.ApplicationEventPublisher
publishEvent, publishEvent
Methods inherited from interface org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch
Methods inherited from interface org.springframework.core.env.EnvironmentCapable
getEnvironment
Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactory
Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory
containsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation
Methods inherited from interface org.springframework.context.MessageSource
getMessage, getMessage, getMessage
Methods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader, getResource
Methods 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:
assertThat
in 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 ornull
if the context started without issue.- Returns:
- the startup failure or
null
-
close
void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in 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 newApplicationContextAssertProvider
instance.- Type Parameters:
T
- the assert provider typeC
- the context type- Parameters:
type
- the type ofApplicationContextAssertProvider
required (must be an interface)contextType
- the type ofApplicationContext
being managed (must be an interface)contextSupplier
- a supplier that will either return a fully configuredApplicationContext
or throw an exception if the context fails to start.- Returns:
- a
ApplicationContextAssertProvider
instance
-
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 newApplicationContextAssertProvider
instance.- Type Parameters:
T
- the assert provider typeC
- the context type- Parameters:
type
- the type ofApplicationContextAssertProvider
required (must be an interface)contextType
- the type ofApplicationContext
being managed (must be an interface)contextSupplier
- a supplier that will either return a fully configuredApplicationContext
or throw an exception if the context fails to start.additionalContextInterfaces
- and additional context interfaces to add to the proxy- Returns:
- a
ApplicationContextAssertProvider
instance - Since:
- 3.4.0
-