Package com.avanza.astrix.test
Class AstrixExtension
- java.lang.Object
-
- com.avanza.astrix.test.AstrixExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.AfterEachCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ParameterResolver
public class AstrixExtension extends Object implements org.junit.jupiter.api.extension.ParameterResolver, org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.AfterAllCallback
Test utility that manages an internal service registry, config-source and AstrixContext. The managed AstrixContext is configured to use the internal service registry.The AstrixTestContext allows registering providers programmatically in the service-registry, see
AstrixTestContext.setProxyState(Class, Object).Typical usage:
@RegisterExtension static AstrixExtension astrix = AstrixExtension.create(); @RegisterExtension static RunningPu testedPu = ... // setup pu @Test void aTest(AstrixTestContext astrixTestContext) { ... astrixTestContext.setProxyState(ConsumedService.class, serviceStub); ... ServiceUnderTest service = astrixTestContext.waitForBean(ServiceUnderTest.class, 2000); } @Test void anotherTest(AstrixTestContext astrixTestContext) { ... astrixTestContext.setProxyState(ConsumedService.class, serviceStubWithDifferentBehavior); ... ServiceUnderTest service = astrixTestContext.waitForBean(ServiceUnderTest.class, 2000); }
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterAll(org.junit.jupiter.api.extension.ExtensionContext context)voidafterEach(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context)static AstrixExtensioncreate(boolean resetAfterEach, Class<? extends com.avanza.astrix.test.TestApi>... testApis)static AstrixExtensioncreate(Class<? extends com.avanza.astrix.test.TestApi>... testApis)com.avanza.astrix.test.AstrixTestContextgetAstrixTestContext(org.junit.jupiter.api.extension.ExtensionContext context)ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Method Detail
-
create
@SafeVarargs public static AstrixExtension create(boolean resetAfterEach, Class<? extends com.avanza.astrix.test.TestApi>... testApis)
-
create
@SafeVarargs public static AstrixExtension create(Class<? extends com.avanza.astrix.test.TestApi>... testApis)
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException- Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
- Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback
-
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback
-
getAstrixTestContext
public com.avanza.astrix.test.AstrixTestContext getAstrixTestContext(org.junit.jupiter.api.extension.ExtensionContext context)
-
-