我有一个hooks.cs绑定文件,其中包含beforeTestRun,BeforeFeature和BeforeScenario。我需要当前功能的标题和方案以用于日志和报告目的。由于我正在并行运行测试,所以contextcontext会引发异常,如The ScenarioContext。当前的静态访问器无法在多线程执行中使用。...
有什么办法可以在多线程执行中获得当前功能部件标题和方案名称?
谢谢
答案 0 :(得分:2)
是的,您可以通过构造函数注入获得当前的FeatureContext和ScenarioContext。
public class MyBindingClass
{
private ScenarioContext scenarioContext;
public MyBindingClass(ScenarioContext scenarioContext)
{
this.scenarioContext = scenarioContext;
}
[When("I say hello to ScenarioContext")]
public void WhenISayHello()
{
// access scenarioContext here
}
}
请参见https://specflow.org/documentation/ScenarioContext/-在底部注入ScenarioContext。