在运行两个不同功能文件的情况时,我收到以下错误: 初始化方法ITTCustomerScenarios.Features.ValidateTheJAMCMSKULicensingFeature.TestInitialize引发异常。 TechTalk.SpecFlow.SpecFlowException:TechTalk.SpecFlow.SpecFlowException:FeatureContext.Current静态访问器不能用于多线程执行。尝试将特征上下文注入绑定类。有关详细信息,请参阅http://go.specflow.org/doc-multithreaded。
虽然我能够从visual studio运行不同功能文件的场景,但不能从mstest运行。 我用于使用mstest从命令行运行sceanrios的命令是: mstest /testcontainer:"test.dll" /类别:mytest的
test1.feature @mytest 场景:验证登录 鉴于我访问主页 ..... ......
test2.feature @mytest 场景:验证注销 鉴于我访问主页 ..... ......
请建议我如何从命令行运行不同功能文件的方案。
答案 0 :(得分:1)
找到一个可能对某些人有用的链接here TLDR:“这里的解决方案是明确重新生成所有要素文件。”
答案 1 :(得分:0)
将您的Specflow版本和生成器版本更新为以下版本 SpecFlow版本:2.1.0.0(或最新) SpecFlow Generator版本:2.0.0.0(或最新版本)
显式重新生成所有feature.cs文件。
这将为您工作。 :)
答案 2 :(得分:0)
我通过将上下文注入构造函数中来解决了相同的问题,如下所示。我猜这个问题在更新后就变成了。因为ScenarioContext.Current
现在已过时。
private readonly ScenarioContext Context;
public WikipediaTitleValidationSteps(ScenarioContext catalogContext)
{
Context = catalogContext;
}
答案 3 :(得分:-2)
如果您按照错误消息中的链接进行操作,则说明如何解决该问题。