java.lang.Object
io.helidon.testing.junit5.TestJunitExtension
- 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.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.InvocationInterceptor,org.junit.jupiter.api.extension.ParameterResolver
- Direct Known Subclasses:
HelidonJunitExtension
public class TestJunitExtension
extends Object
implements org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.InvocationInterceptor, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.ParameterResolver
Helidon JUnit extension, added through
Testing.Test.
This extension has the following features:
- Run constructor and every test class method within a custom
Context - Support configuration annotations to set up configuration before running the tests
- Support for injection service registry (if on classpath) to discover configuration
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.junit.jupiter.api.extension.InvocationInterceptor
org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDefault constructor with no side effects. -
Method Summary
Modifier and TypeMethodDescriptionvoidafterAll(org.junit.jupiter.api.extension.ExtensionContext context) voidafterEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext ctx) voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) protected voidinitStaticContext(org.junit.jupiter.api.extension.ExtensionContext ctx) Initialize the static context to be used for all actions this extension invokes, and to store the global instances.protected voidinitStaticContext(org.junit.jupiter.api.extension.ExtensionContext.Store store, org.junit.jupiter.api.extension.ExtensionContext ctx) Initialize the static context to be used for all actions this extension invokes, and to store the global instances.voidinterceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) voidinterceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) voidinterceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) voidinterceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) voidinterceptDynamicTest(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.DynamicTestInvocationContext ic, org.junit.jupiter.api.extension.ExtensionContext ctx) <T> TinterceptTestClassConstructor(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Constructor<T>> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) <T> TinterceptTestFactoryMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) voidinterceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) voidinterceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) protected <T> Tinvoke(org.junit.jupiter.api.extension.ExtensionContext ctx, org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation) Invoke a JUnit invocation within context.resolveParameter(org.junit.jupiter.api.extension.ParameterContext pc, org.junit.jupiter.api.extension.ExtensionContext ctx) protected voidRun a runnable within context.protected <E extends Throwable>
voidrunChecked(org.junit.jupiter.api.extension.ExtensionContext ctx, Functions.CheckedRunnable<E> runnable) Invoke a runnable that may throw a checked exception.staticContext(org.junit.jupiter.api.extension.ExtensionContext ctx) The current "static" context (if already available) that the test actions will be executed in.protected static org.junit.jupiter.api.extension.ExtensionContext.Storestore(org.junit.jupiter.api.extension.ExtensionContext ctx, AnnotatedElement... qualifiers) Get a JUnit extension store.protected static <T> Optional<T> storeLookup(org.junit.jupiter.api.extension.ExtensionContext.Store store, Object key, Class<T> type) Get an object from the given store.protected <T> TCall a supplier within context.protected <T,E extends Throwable>
TsupplyChecked(org.junit.jupiter.api.extension.ExtensionContext ctx, Functions.CheckedSupplier<T, E> supplier) Call a supplier that can throwThrowablewithin context.booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext pc, org.junit.jupiter.api.extension.ExtensionContext ctx) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.junit.jupiter.api.extension.InvocationInterceptor
interceptDynamicTest
-
Constructor Details
-
TestJunitExtension
protected TestJunitExtension()Default constructor with no side effects.
-
-
Method Details
-
storeLookup
protected static <T> Optional<T> storeLookup(org.junit.jupiter.api.extension.ExtensionContext.Store store, Object key, Class<T> type) Get an object from the given store.- Type Parameters:
T- object type- Parameters:
store- storekey- keytype- type- Returns:
- optional
-
store
protected static org.junit.jupiter.api.extension.ExtensionContext.Store store(org.junit.jupiter.api.extension.ExtensionContext ctx, AnnotatedElement... qualifiers) Get a JUnit extension store.- Parameters:
ctx- JUnit extension contextqualifiers- qualifiers- Returns:
- JUnit extension store
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext ctx) - Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context) - Specified by:
afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception - Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Throws:
Exception
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception - Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback- Throws:
Exception
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext pc, org.junit.jupiter.api.extension.ExtensionContext ctx) 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 pc, org.junit.jupiter.api.extension.ExtensionContext ctx) throws org.junit.jupiter.api.extension.ParameterResolutionException - Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
interceptTestClassConstructor
public <T> T interceptTestClassConstructor(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Constructor<T>> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptTestClassConstructorin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptBeforeAllMethod
public void interceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptBeforeAllMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptBeforeEachMethod
public void interceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptBeforeEachMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptTestMethod
public void interceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptTestMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptTestFactoryMethod
public <T> T interceptTestFactoryMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptTestFactoryMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptTestTemplateMethod
public void interceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptTestTemplateMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptDynamicTest
public void interceptDynamicTest(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.DynamicTestInvocationContext ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptDynamicTestin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptAfterEachMethod
public void interceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptAfterEachMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptAfterAllMethod
public void interceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> ic, org.junit.jupiter.api.extension.ExtensionContext ctx) throws Throwable - Specified by:
interceptAfterAllMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
initStaticContext
protected void initStaticContext(org.junit.jupiter.api.extension.ExtensionContext ctx) Initialize the static context to be used for all actions this extension invokes, and to store the global instances. This extension creates a unit test context by default for each test class.- Parameters:
ctx- JUnit extension context
-
initStaticContext
protected void initStaticContext(org.junit.jupiter.api.extension.ExtensionContext.Store store, org.junit.jupiter.api.extension.ExtensionContext ctx) Initialize the static context to be used for all actions this extension invokes, and to store the global instances. This extension creates a unit test context by default for each test class.- Parameters:
store- JUnit extension storectx- JUnit extension context
-
staticContext
The current "static" context (if already available) that the test actions will be executed in.- Parameters:
ctx- JUnit extension context- Returns:
- context used by this extension
-
supply
protected <T> T supply(org.junit.jupiter.api.extension.ExtensionContext ctx, Supplier<T> supplier) throws Throwable Call a supplier within context.- Type Parameters:
T- type of the result- Parameters:
ctx- JUnit extension contextsupplier- callable to invoke- Returns:
- result of the callable
- Throws:
Throwable- in case the call to callable threw an exception
-
supplyChecked
protected <T,E extends Throwable> T supplyChecked(org.junit.jupiter.api.extension.ExtensionContext ctx, Functions.CheckedSupplier<T, E> supplier) throws ECall a supplier that can throwThrowablewithin context.- Type Parameters:
T- type of the resultE- type of checked exception that is expected- Parameters:
ctx- JUnit extension contextsupplier- supplier to invoke- Returns:
- result of the callable
- Throws:
E- in case the call to callable threw an exception
-
run
Run a runnable within context.- Parameters:
ctx- JUnit extension contextrunnable- runnable to run
-
runChecked
protected <E extends Throwable> void runChecked(org.junit.jupiter.api.extension.ExtensionContext ctx, Functions.CheckedRunnable<E> runnable) throws E Invoke a runnable that may throw a checked exception.- Type Parameters:
E- type of the exception that can be thrown- Parameters:
ctx- JUnit extension contextrunnable- runnable to run- Throws:
E- in case the runnable threw an exception
-
invoke
protected <T> T invoke(org.junit.jupiter.api.extension.ExtensionContext ctx, org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation) throws Throwable Invoke a JUnit invocation within context.- Type Parameters:
T- type of the returned value- Parameters:
ctx- JUnit extension contextinvocation- invocation to invoke- Returns:
- result of the invocation
- Throws:
Throwable- in case the invocation threw an exception
-