SpecFlow现在通过每个容器的插件支持其他容器。注入SpecFlows容器时只能使用一个容器。因此,如果您使用Ninject插件,则只能使用Ninject插件。
将我们的解决方案从SpecFlow1.9更新到2.0,将NUnit2.6.4更新到3.2.1之后,当使用NCrunch执行SpecFlow测试时,我们会收到SpecFlowException。
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的解决方案建议仅在使用SpecFlow的内置微型IoC时有效。但是,我们在SpecFlow测试中将NInject用作IoC。仅将静态字段ScenarionContext.Current包装在一个类中,然后在单例上下文中注册该类,当然会将问题移到另一个地方。
当使用NInject代替SpecFlow的内置IoC时,有人知道如何注入ScenarionContext吗?
将解决方案从SpecFlow1.9更新到2.0,将NUnit2.6.4更新到3.2.1之后,当使用NCrunch TechTalk.SpecFlow.SpecFlowException执行SpecFlow测试时,我们得到了SpecFlowException:...
SpecFlow现在通过每个容器的插件支持其他容器。注入SpecFlows容器时只能使用一个容器。因此,如果您使用Ninject插件,则只能使用Ninject插件。
不幸的是,创建Ninject插件的开发人员没有将其发布到NuGet,因此您必须自己构建。
并且您可能想问他他的插件正在使用哪个许可证。
SpecFlow现在通过每个容器的插件支持其他容器。注入SpecFlows容器时只能使用一个容器。因此,如果您使用Ninject插件,则只能使用Ninject插件。