Skip to content

GD-400: Implement SceneRunnerExtension reference test extension #408

@floralvikings

Description

@floralvikings

Why

In order to better document the API and demonstrate usage, there should be a reference implementation of an extension.

Description

Ideally the reference extension should demonstrate:

  • Extension callbacks (IBefore*Callback and/or IAfter*Callback)
  • Parameter resolution (IParameterResolver)
  • Contextual data store use with suite-level fallback
  • Practical application; the extension should actually be useful

The SceneRunnerExtension meets all of these criteria:

  • Must implement IBeforeEachCallback and IAfterEachCallback to create and dispose of scene runner
  • Must implement IParameterResolver to inject the scene runner and scene node.
  • Will use IParameterStore to store the scene runner before each test runs, retrieve it when injecting parameters, and dispose of it after each test.
  • Reduces common test boilerplate and as such had real-world applications

Acceptance criteria

  • SceneRunnerExtension implemented
  • Test [RegisterExtension] on fields
  • Test [ExtendWith<T>] on classes
  • Test injected ISceneRunner and scene
  • Test mixed [TestCase] and injected parameters

Metadata

Metadata

Assignees

Labels

featureNew feature or functionality added to the project

Type

No fields configured for Task.

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions