Package net.tangly.bdd.engine
Class StoryExtension
java.lang.Object
net.tangly.bdd.engine.StoryExtension
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ParameterResolver
public class StoryExtension
extends java.lang.Object
implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.ParameterResolver
A custom extension that allow test authors to create and run behaviors and stories i.e. BDD specification tests. Jupiter engine will provide an
execution context instance under which an extension is to operate. A store is a holder that can be used by custom extensions to save and retrieve
arbitrary data––basically a super charged in-memory map. In order to avoid accidental key collisions between multiple extensions, the good folk at
JUnit introduced the concept of a namespace. A namespace is a way to scope the data saved by extensions.
-
Constructor Summary
Constructors Constructor Description StoryExtension() -
Method Summary
Modifier and Type Method Description voidafterAll(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)java.lang.ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext context)Inject the previously created scene object into the test method.booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
Constructor Details
-
StoryExtension
public StoryExtension()
-
-
Method Details
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)- 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 context)- Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)- Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
resolveParameter
public java.lang.Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext context)Inject the previously created scene object into the test method.- Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Parameters:
parameterContext- parameter context injected by JUnit5 lifecyclecontext- context injected by JUnit5 lifecycle- Returns:
- story run object associated with the story under execution
-