Class CamelSpringTestContextLoader
java.lang.Object
org.springframework.test.context.support.AbstractContextLoader
org.apache.camel.test.spring.junit5.CamelSpringTestContextLoader
- All Implemented Interfaces:
org.springframework.test.context.ContextLoader,org.springframework.test.context.SmartContextLoader
public class CamelSpringTestContextLoader
extends org.springframework.test.context.support.AbstractContextLoader
Replacement for the default
GenericXmlContextLoader that provides hooks for processing some class level Camel
related test annotations.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.context.support.GenericApplicationContextcreateContext(Class<?> testClass, org.springframework.test.context.MergedContextConfiguration mergedConfig) Creates and starts the Spring context while optionally starting any loaded Camel contexts.Returns "-context.xml".protected Class<?> Returns the class under test to enable inspection of annotations while the Spring context is being created.protected MethodReturns the test method under test.protected voidloadBeanDefinitions(org.springframework.context.support.GenericApplicationContext context, Class<?> clazz, String... locations) protected voidloadBeanDefinitions(org.springframework.context.support.GenericApplicationContext context, org.springframework.test.context.MergedContextConfiguration mergedConfig) org.springframework.context.ApplicationContextloadContext(String... locations) Modeled after the Spring implementation inAbstractGenericContextLoader, this method creates and refreshes the application context while providing for processing of additional Camel specific post-refresh actions.protected org.springframework.context.ApplicationContextloadContext(org.springframework.context.support.GenericApplicationContext context, Class<?> testClass) Performs the bulk of the Spring application context loading/customization.org.springframework.context.ApplicationContextloadContext(org.springframework.test.context.MergedContextConfiguration mergedConfig) Modeled after the Spring implementation inAbstractGenericContextLoader, this method creates and refreshes the application context while providing for processing of additional Camel specific post-refresh actions.Methods inherited from class org.springframework.test.context.support.AbstractContextLoader
customizeContext, generateDefaultLocations, getResourceSuffixes, isGenerateDefaultLocations, modifyLocations, prepareContext, processContextConfiguration, processLocations
-
Constructor Details
-
CamelSpringTestContextLoader
public CamelSpringTestContextLoader()
-
-
Method Details
-
loadContext
public org.springframework.context.ApplicationContext loadContext(org.springframework.test.context.MergedContextConfiguration mergedConfig) throws Exception Modeled after the Spring implementation inAbstractGenericContextLoader, this method creates and refreshes the application context while providing for processing of additional Camel specific post-refresh actions. We do not provide the pre-post hooks for customization seen inAbstractGenericContextLoaderbecause they probably are unnecessary for 90+% of users. For some functionality, we cannot useTestExecutionListenerbecause we need to both produce the desired outcome during application context loading, and also cleanup after ourselves even if the test class never executes. Thus the listeners, which only run if the application context is successfully initialized are insufficient to provide the behavior described above.- Throws:
Exception
-
loadContext
public org.springframework.context.ApplicationContext loadContext(String... locations) throws Exception Modeled after the Spring implementation inAbstractGenericContextLoader, this method creates and refreshes the application context while providing for processing of additional Camel specific post-refresh actions. We do not provide the pre-post hooks for customization seen inAbstractGenericContextLoaderbecause they probably are unnecessary for 90+% of users. For some functionality, we cannot useTestExecutionListenerbecause we need to both produce the desired outcome during application context loading, and also cleanup after ourselves even if the test class never executes. Thus the listeners, which only run if the application context is successfully initialized are insufficient to provide the behavior described above.- Throws:
Exception
-
getResourceSuffix
Returns "-context.xml".- Specified by:
getResourceSuffixin classorg.springframework.test.context.support.AbstractContextLoader
-
loadContext
protected org.springframework.context.ApplicationContext loadContext(org.springframework.context.support.GenericApplicationContext context, Class<?> testClass) throws Exception Performs the bulk of the Spring application context loading/customization.- Parameters:
context- the partially configured context. The context should have the bean definitions loaded, but nothing else.testClass- the test class being executed- Returns:
- the initialized (refreshed) Spring application context
- Throws:
Exception- if there is an error during initialization/customization
-
loadBeanDefinitions
protected void loadBeanDefinitions(org.springframework.context.support.GenericApplicationContext context, org.springframework.test.context.MergedContextConfiguration mergedConfig) -
loadBeanDefinitions
-
createContext
protected org.springframework.context.support.GenericApplicationContext createContext(Class<?> testClass, org.springframework.test.context.MergedContextConfiguration mergedConfig) Creates and starts the Spring context while optionally starting any loaded Camel contexts.- Parameters:
testClass- the test class that is being executed- Returns:
- the loaded Spring context
-
getTestClass
Returns the class under test to enable inspection of annotations while the Spring context is being created.- Returns:
- the test class that is being executed
- See Also:
-
getTestMethod
Returns the test method under test.- Returns:
- the method that is being executed
- See Also:
-