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.AfterEachCallbackJUnit 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 classTestWorkflowExtension.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterEach(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)protected TestEnvironmentOptionscreateTestEnvOptions(long initialTimeMillis)static TestWorkflowExtension.BuildernewBuilder()java.lang.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)voidtestFailed(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:
supportsParameterin 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:
resolveParameterin 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:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
-
createTestEnvOptions
protected TestEnvironmentOptions createTestEnvOptions(long initialTimeMillis)
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback
-
testFailed
public void testFailed(org.junit.jupiter.api.extension.ExtensionContext context, java.lang.Throwable cause)- Specified by:
testFailedin interfaceorg.junit.jupiter.api.extension.TestWatcher
-
-