Table of Contents

Class FileBasedTestBase<TDriver>

Namespace
TinyBDD.Extensions.FileBased
Assembly
TinyBDD.Extensions.FileBased.dll

Base class for file-based BDD tests.

public abstract class FileBasedTestBase<TDriver> where TDriver : IApplicationDriver, new()

Type Parameters

TDriver

The application driver type.

Inheritance
FileBasedTestBase<TDriver>
Inherited Members

Remarks

Each scenario execution creates a new driver instance, ensuring scenario isolation. Driver state is not shared between scenarios within the same test run.

Driver method discovery is cached statically per driver type for performance. The first scenario execution will discover and cache driver methods, and subsequent executions (even across different test runs in the same process) will reuse the cache.

Methods

CreateDriver()

Creates a new instance of the driver. Override to provide custom instantiation logic.

protected virtual TDriver CreateDriver()

Returns

TDriver

ExecuteScenarioAsync(FeatureDefinition, ScenarioDefinition, ITraitBridge?, CancellationToken)

Executes a single scenario.

protected Task ExecuteScenarioAsync(FeatureDefinition feature, ScenarioDefinition scenario, ITraitBridge? traitBridge = null, CancellationToken cancellationToken = default)

Parameters

feature FeatureDefinition

The feature containing the scenario.

scenario ScenarioDefinition

The scenario to execute.

traitBridge ITraitBridge

Optional trait bridge.

cancellationToken CancellationToken

Cancellation token.

Returns

Task

ExecuteScenariosAsync(Action<FileBasedDslOptionsBuilder>, ITraitBridge?, CancellationToken)

Executes all scenarios from file-based definitions.

protected Task ExecuteScenariosAsync(Action<FileBasedDslOptionsBuilder> configureOptions, ITraitBridge? traitBridge = null, CancellationToken cancellationToken = default)

Parameters

configureOptions Action<FileBasedDslOptionsBuilder>

Configuration action.

traitBridge ITraitBridge

Optional trait bridge for test framework integration.

cancellationToken CancellationToken

Cancellation token.

Returns

Task