1

我尝试关注 https://github.com/Expensify/WindowsPhoneTestFramework/wiki/Setting-up-a-new-BDD-machine

在 WindowsPhone 上设置 Specflow。

我安装了 Specflow 1.8.1。所以我先卸载 1.8.1 并在 VS2010 上安装 Specflow 1.9 插件。运行 Specflow 时。我仍然有以下异常。

[错误] 添加两个数字:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。在 System.Reflection.RuntimeModule.GetTypes(RuntimeModule 模块) 在 System.Reflection.RuntimeModule.GetTypes() 在 System.Reflection.Assembly.GetTypes() 在 TechTalk.SpecFlow.Bindings.Discovery.RuntimeBindingRegistryBuilder.BuildBindingsFromAssembly(Assembly assembly) 在 TechTalk .SpecFlow.Infrastructure.TestExecutionEngine.Initialize(Assembly[] bindingAssemblies) 在 TechTalk.SpecFlow.TestRunner.InitializeTestRunner(Assembly[] bindingAssemblies) 在 TechTalk.SpecFlow.Infrastructure.TestRunnerFactory。

内部异常是 LoaderExceptions include {"Could not load file or assembly 'TechTalk.SpecFlow, Version=1.8.1.0, Culture=neutral, PublicKeyToken=0778194805d6db41' 或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配.(HRESULT 异常:0x80131040)“:”TechTalk.SpecFlow,版本=1.8.1.0,文化=中性,PublicKeyToken=0778194805d6db41”}

我不知道为什么它仍然加载 1.8.1 SpecFlow 程序集。我已经卸载了 SpecFlow 1.8.1。我还有其他地方需要手动更改吗?

谢谢!

4

1 回答 1

1

WP7Test 包似乎依赖于 SpecFlow 1.8.1。据我在 github 项目上看到的,它还没有更新到 SpecFlow 1.9。

SpecRun.SpecFlow 1.1 需要 SpecFlow 1.9。(如果您安装过时的 SpecRun (1.0) 软件包,将使用此功能。)

我认为最好的办法是在 github 上分叉 WP7Test 项目并将其更新为使用 SpecFlow 1.9。完成此操作后,它也应该可以与最新的 SpecRun 一起正常工作。

(另一种方法是使用 SpecRun.SpecFlow 1.0 包,该包可与 SpecFlow 1.8.1 一起使用,并且也受 SpecFlow 1.9 IDE 集成的支持。)

于 2012-08-22T14:09:41.567 回答