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
TDriverThe 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
featureFeatureDefinitionThe feature containing the scenario.
scenarioScenarioDefinitionThe scenario to execute.
traitBridgeITraitBridgeOptional trait bridge.
cancellationTokenCancellationTokenCancellation token.
Returns
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
configureOptionsAction<FileBasedDslOptionsBuilder>Configuration action.
traitBridgeITraitBridgeOptional trait bridge for test framework integration.
cancellationTokenCancellationTokenCancellation token.