public class TestWorkflowExtension
extends java.lang.Object
implements org.junit.jupiter.api.extension.ParameterResolver, org.junit.jupiter.api.extension.TestWatcher, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback
The extension manages Temporal test environment and workflow worker lifecycle, and be used
with both in-memory (default) and standalone temporal service (see TestWorkflowExtension.Builder.useInternalService()
, TestWorkflowExtension.Builder.useExternalService()
and TestWorkflowExtension.Builder.useExternalService(String)
}).
This extension can inject workflow stubs as well as instances of TestWorkflowEnvironment
, WorkflowClient
, WorkflowOptions
, Worker
, into
test methods.
Usage example:
public class MyTest {
@RegisterExtension
public static final TestWorkflowExtension workflowExtension =
TestWorkflowExtension.newBuilder()
.setWorkflowTypes(MyWorkflowImpl.class)
.setActivityImplementations(new MyActivities())
.build();
@Test
public void testMyWorkflow(MyWorkflow workflow) {
// Test code that calls MyWorkflow methods
}
}
Modifier and Type | Class and Description |
---|---|
static class |
TestWorkflowExtension.Builder |
Modifier and Type | Method and Description |
---|---|
void |
afterEach(org.junit.jupiter.api.extension.ExtensionContext context) |
void |
beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) |
static TestWorkflowExtension.Builder |
newBuilder() |
java.lang.Object |
resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext,
org.junit.jupiter.api.extension.ExtensionContext extensionContext) |
boolean |
supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext,
org.junit.jupiter.api.extension.ExtensionContext extensionContext) |
void |
testFailed(org.junit.jupiter.api.extension.ExtensionContext context,
java.lang.Throwable cause) |
public static TestWorkflowExtension.Builder newBuilder()
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
supportsParameter
in interface org.junit.jupiter.api.extension.ParameterResolver
org.junit.jupiter.api.extension.ParameterResolutionException
public java.lang.Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
resolveParameter
in interface org.junit.jupiter.api.extension.ParameterResolver
org.junit.jupiter.api.extension.ParameterResolutionException
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) throws java.lang.Exception
beforeEach
in interface org.junit.jupiter.api.extension.BeforeEachCallback
java.lang.Exception
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context) throws java.lang.Exception
afterEach
in interface org.junit.jupiter.api.extension.AfterEachCallback
java.lang.Exception
public void testFailed(org.junit.jupiter.api.extension.ExtensionContext context, java.lang.Throwable cause)
testFailed
in interface org.junit.jupiter.api.extension.TestWatcher