Interface IScenarioObserver
- Namespace
- TinyBDD
- Assembly
- TinyBDD.dll
Observes scenario-level lifecycle events during execution.
public interface IScenarioObserver
Examples
public class LoggingObserver : IScenarioObserver
{
public ValueTask OnScenarioStarting(ScenarioContext context)
{
Console.WriteLine($"Starting: {context.ScenarioName}");
return default;
}
public ValueTask OnScenarioFinished(ScenarioContext context)
{
Console.WriteLine($"Finished: {context.ScenarioName}");
return default;
}
}
Remarks
Implementations can use this interface to add cross-cutting concerns like logging, telemetry, reporting, or persistence without modifying core scenario execution logic. Observers are registered via AddObserver(IScenarioObserver).
Methods
OnScenarioFinished(ScenarioContext)
Called after all scenario steps have completed, regardless of success or failure.
ValueTask OnScenarioFinished(ScenarioContext context)
Parameters
contextScenarioContextThe scenario context with all executed steps and their results.
Returns
- ValueTask
A ValueTask representing the asynchronous operation.
OnScenarioStarting(ScenarioContext)
Called immediately before a scenario begins executing its steps.
ValueTask OnScenarioStarting(ScenarioContext context)
Parameters
contextScenarioContextThe scenario context containing feature, scenario, and tag metadata.
Returns
- ValueTask
A ValueTask representing the asynchronous operation.