Package io.temporal.testing
Class TestWorkflowExtension
- java.lang.Object
-
- io.temporal.testing.TestWorkflowExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterEachCallback
,org.junit.jupiter.api.extension.BeforeEachCallback
,org.junit.jupiter.api.extension.Extension
,org.junit.jupiter.api.extension.ParameterResolver
,org.junit.jupiter.api.extension.TestWatcher
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
JUnit Jupiter extension that simplifies testing of Temporal workflows.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()
andTestWorkflowExtension.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 } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TestWorkflowExtension.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
void
beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
protected TestEnvironmentOptions
createTestEnvOptions(long initialTimeMillis)
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)
-
-
-
Method Detail
-
newBuilder
public static TestWorkflowExtension.Builder newBuilder()
-
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:
supportsParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
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
- Specified by:
resolveParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeEach
in interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
-
createTestEnvOptions
protected TestEnvironmentOptions createTestEnvOptions(long initialTimeMillis)
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context) throws java.lang.Exception
- Specified by:
afterEach
in interfaceorg.junit.jupiter.api.extension.AfterEachCallback
- Throws:
java.lang.Exception
-
testFailed
public void testFailed(org.junit.jupiter.api.extension.ExtensionContext context, java.lang.Throwable cause)
- Specified by:
testFailed
in interfaceorg.junit.jupiter.api.extension.TestWatcher
-
-