How alje001/allure-specflow works
This deprecated SpecFlow runtime plugin translates feature, scenario, step, hook-failure, and attachment events into Allure results. SpecFlow’s runtime is the initiating actor: plugin registration replaces its binding invoker, tracer, and execution engine; those components and plugin hooks report lifecycle events through the adapter to Allure Commons. Attachments are added to scenario context through an extension and emitted when a test case finishes. The runtime and Allure Commons are external dependencies; their internal behavior is not represented here.
Main entry points: AllureAdapter.cs Allure adapter · AllurePlugin.cs Runtime plugin · AllureBindingInvoker.cs Binding invoker · AllureTestExecutionEngine.cs Execution engine
Components 11
Plugin registration
- Runtime plugin
SpecFlow.Allure/AllurePlugin.cs
SpecFlow execution
- Binding invoker
SpecFlow.Allure/AllureBindingInvoker.cs - Execution engine
SpecFlow.Allure/AllureTestExecutionEngine.cs - Step tracer
SpecFlow.Allure/AllureTestTracer.cs - Lifecycle hooks
SpecFlow.Allure/AllurePluginHooks.cs - Attachment extension
SpecFlow.Allure/SpecFlowExtensions.cs
Allure reporting
- Plugin configuration
SpecFlow.Allure/Config.cs - Allure adapter
SpecFlow.Allure/AllureAdapter.cs
Other components
- SpecFlow runtime
- Scenario context
- Allure Commons
Connections 16
- Runtime plugin → Binding invoker: registers invoker
SpecFlow.Allure/AllurePlugin.cs - Runtime plugin → Step tracer: registers tracer
SpecFlow.Allure/AllurePlugin.cs - Runtime plugin → Execution engine: registers engine
SpecFlow.Allure/AllurePlugin.cs - SpecFlow runtime → Runtime plugin: loads plugin
- SpecFlow runtime → Lifecycle hooks: runs hooks
- SpecFlow runtime → Binding invoker: invokes bindings
- SpecFlow runtime → Step tracer: traces steps
- SpecFlow runtime → Execution engine: executes scenarios
- Binding invoker → Allure adapter: reports hook outcomes
SpecFlow.Allure/AllureBindingInvoker.cs - Execution engine → Allure adapter: marks pending cases
SpecFlow.Allure/AllureTestExecutionEngine.cs - Step tracer → Allure adapter: reports step status
SpecFlow.Allure/AllureTestTracer.cs - Lifecycle hooks → Allure adapter: reports case lifecycle
SpecFlow.Allure/AllurePluginHooks.cs - Attachment extension → Scenario context: stores attachment
SpecFlow.Allure/SpecFlowExtensions.cs - Allure adapter → Scenario context: reads attachments
SpecFlow.Allure/AllureAdapter.cs - Allure adapter → Plugin configuration: reads results path
SpecFlow.Allure/AllureAdapter.cs - Allure adapter → Allure Commons: fires result events
SpecFlow.Allure/AllureAdapter.cs