Expose the ScenarioInfo class, previously only used internally, as a context value for the scenarios.
This class provides the title and the tags of the scenario. Additionally, this class can now retrieve more semantic meaning from some tags allowing scenarios to be configurable.
Closes #121
Advanced tags
Single-word tags can be used as flags, which can be used to toggle some behavior on the implementation of the steps and hooks. For example:
@useDockerApi
@disableImageValidation
Single-word tags followed by a single word in parentheses can be used as options. For example:
@database(sqlite:memory)
@database(sqlite:file)
@database(pg-mem)
@database(postgres)
Single-word tags followed by compact JSON within parentheses can be used for complex attributes. For example:
Expose the
ScenarioInfo
class, previously only used internally, as a context value for the scenarios.This class provides the title and the tags of the scenario. Additionally, this class can now retrieve more semantic meaning from some tags allowing scenarios to be configurable.
Advanced tags
@useDockerApi
@disableImageValidation
@database(sqlite:memory)
@database(sqlite:file)
@database(pg-mem)
@database(postgres)
@log({"level":"INFO","target":"out.log"})
@database({"engine":"sqlite","persist":false})
@database({"engine":"sqlite","persist":true})
@database({"engine":"postgres","persist":false})
@database({"engine":"postgres","persist":true})