Table of Contents

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

context ScenarioContext

The 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

context ScenarioContext

The scenario context containing feature, scenario, and tag metadata.

Returns

ValueTask

A ValueTask representing the asynchronous operation.

See Also