如何在 hook 中使用 ScenarioStepContext?
How to use ScenarioStepContext in hook?
我正在将 SpecFlow 与 NUnit3 结合使用,并试图访问挂钩中的步骤上下文。
我是运行并行测试,所以不使用任何静态实例上下文,而是使用 SpecFlow 的参数解析功能。
使用如下所示的挂钩,ScenarioContext 实例可以正常解析,但 ScenarioStepContext 导致绑定抛出错误:
Primitive types or structs cannot be resolved: TechTalk.SpecFlow.Bindings.StepDefinitionType (resolution path: TechTalk.SpecFlow.ScenarioStepContext->TechTalk.SpecFlow.StepInfo)'
[AfterStep]
public void LogStepResult(ScenarioStepContext scenarioStepContext,
ScenarioContext scenarioContext)
{
}
发现它隐藏在一些文档中...
您可以在 StepContext 属性:
中使用已解析 ScenarioContext
附带的 ScenarioStepContext
,而不是尝试解析 ScenarioStepContext
[AfterStep]
public void LogStepResult(ScenarioContext scenarioContext)
{
var stepContext = scenarioContext.StepContext;
}
如果您没有在测试中使用并行执行,那么您可以直接调用 ScenarioContext。这是一个example。如果您是 运行 并行测试,那么您可以使用以前的答案。
我正在将 SpecFlow 与 NUnit3 结合使用,并试图访问挂钩中的步骤上下文。
我是运行并行测试,所以不使用任何静态实例上下文,而是使用 SpecFlow 的参数解析功能。
使用如下所示的挂钩,ScenarioContext 实例可以正常解析,但 ScenarioStepContext 导致绑定抛出错误:
Primitive types or structs cannot be resolved: TechTalk.SpecFlow.Bindings.StepDefinitionType (resolution path: TechTalk.SpecFlow.ScenarioStepContext->TechTalk.SpecFlow.StepInfo)'
[AfterStep]
public void LogStepResult(ScenarioStepContext scenarioStepContext,
ScenarioContext scenarioContext)
{
}
发现它隐藏在一些文档中...
您可以在 StepContext 属性:
中使用已解析ScenarioContext
附带的 ScenarioStepContext
,而不是尝试解析 ScenarioStepContext
[AfterStep]
public void LogStepResult(ScenarioContext scenarioContext)
{
var stepContext = scenarioContext.StepContext;
}
如果您没有在测试中使用并行执行,那么您可以直接调用 ScenarioContext。这是一个example。如果您是 运行 并行测试,那么您可以使用以前的答案。