allure-framework/allure-csharp

SpecFlow: More informative error message if Allure.SpecFlowPlugin entry is missing in specflow.json

delatrie opened this issue · 0 comments

I'm submitting a ...

  • bug report
  • feature request
  • support request => Please do not submit support request here, see note at the top of this template.

What is the current behavior?

Example of the error that is thrown if Allure.SpecFlowPlugin is missing in specflow.json:

  Message: 
System.InvalidOperationException : No fixture, test, or step context is active.

  Stack Trace: 
AllureContext.get_CurrentStepContainer()
AllureLifecycle.StartStep(StepResult result)
AllureTestTracerWrapper.StartStep(StepInstance stepInstance)
ITestTracer.TraceStep(StepInstance stepInstance, Boolean showAdditionalArguments)
TestExecutionEngine.ExecuteStep(IContextManager contextManager, StepInstance stepInstance)
TestExecutionEngine.Step(StepDefinitionKeyword stepDefinitionKeyword, String keyword, String text, String multilineTextArg, Table tableArg)
TestRunner.Given(String text, String multilineTextArg, Table tableArg, String keyword)
SelectiveRunTestRunner.CallStepOfSelectedScenario(Action`4 stepFn, String text, String multilineTextArg, Table tableArg, String keyword)
SelectiveRunTestRunner.Given(String text, String multilineTextArg, Table tableArg, String keyword)
ScenarioAndStepOutcomesFeature.AllStepsPassed() line 5

What is the expected behavior?

A clear message instructing the user to add the missing entry.

What is the motivation / use case for changing the behavior?

It would help newcomers to setup Allure for their SpecFlow projects.

Please tell us about your environment:

  • Test framework: SpecFlow@3.9.74
  • Runner: Specflow.NUnit@3.9.74
  • Allure adaptor: Allure.SpecFlow@2.10.0