Package org.apache.camel.test.cdi
Class CamelCdiExtension
- java.lang.Object
-
- org.apache.camel.test.cdi.CamelCdiExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ParameterResolver,org.junit.jupiter.api.extension.TestInstanceFactory
public final class CamelCdiExtension extends Object implements org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.TestInstanceFactory, org.junit.jupiter.api.extension.ParameterResolver
The JUnit 5 extension of Camel CDI, this extension allows to inject any existing beans in the test class but also the Camel specific beans directly as parameter of the test methods. The non Camel specific beans cannot be injected as parameter to avoid conflicts with the parameters of JUnit 5 or other extensions.@ExtendWith(CamelCdiExtension.class) public class CamelTest { ... }Additional alternatives, bean types or packages to scan that are specific to the test class can be provided thanks to the annotation
Beans.@ExtendWith(CamelCdiExtension.class) @Beans(alternatives = AlternativeBean.class, classes = TestRoute.class) public class CamelTest { ... }The extension is also able to automatically detect beans of type
AdviceWithRouteBuilderannotated withAdviceRoute, instantiate them and advice the referred routes while taking care of delaying the start-up of the Camel context to ensure that it works as expected.@AdviceRoute("route") public class ExternalTestBuilder extends AdviceWithRouteBuilder { @Override public void configure() throws Exception { weaveByToUri("direct:out").replace().to("mock:test"); } }- See Also:
AdviceRoute,Beans
-
-
Constructor Summary
Constructors Constructor Description CamelCdiExtension()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectcreateTestInstance(org.junit.jupiter.api.extension.TestInstanceFactoryContext factoryContext, org.junit.jupiter.api.extension.ExtensionContext context)ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext context)booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Method Detail
-
createTestInstance
public Object createTestInstance(org.junit.jupiter.api.extension.TestInstanceFactoryContext factoryContext, org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
createTestInstancein interfaceorg.junit.jupiter.api.extension.TestInstanceFactory
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)- Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
-