在将我们的解决方案从SpecFlow 1.9更新到2.0和NUnit2.6.4到3.2.1之后,当用SpecFlowException执行SpecFlow测试时,我们得到一个NCrunch
TechTalk.SpecFlow.SpecFlowException : The ScenarioContext.Current static accessor cannot
be used in multi-threaded execution. Try injecting the scenario context to the binding
class. See http://go.specflow.org/doc-multithreaded for details.
at TechTalk.SpecFlow.ScenarioContext.get_Current()异常文本中的链接http://go.specflow.org/doc-multithreaded建议的解决方案只有在使用内置迷你IoC of SpecFlow时才有效。但是,我们在NInject测试中使用IoC作为SpecFlow。当然,只要将静态字段ScenarionContext.Current包装在类中,并在单例上下文中注册该类,问题就会转移到另一个地方。
当使用而不是内置的IoC of SpecFlow?时,有人知道如何注入NInject吗?
发布于 2019-12-01 03:21:33
SpecFlow现在通过每个容器的插件支持其他容器。在将一个容器注入SpecFlows容器时,只能使用一个容器。所以,如果你使用尼尼姆插件,那么你只能使用尼尼微插件。
不幸的是,开发人员没有将其发布到NuGet,所以您必须自己构建它。
https://github.com/MattMcKinney/SpecFlow.Ninject
你可能想问他他的插件使用的是哪一种许可。
https://stackoverflow.com/questions/37524040
复制相似问题