2

我有一个正在尝试进行单元测试的 Windows Phone 8 应用程序。我在我的项目中添加了一个 Windows Phone 单元测试应用程序,并添加了对我的 Windows Phone 项目的引用。当我尝试在模拟器或我的设备中调试测试时,我得到一个 FileNotFoundException。当它尝试实例化 TestExecutorServiceWrapper 时,它会在单元测试的 MainPage.xaml.cs 中出错。

似乎我缺少一些参考资料,但我无法弄清楚我缺少什么。

异常消息:

指定的模块无法找到。(来自 HRESULT 的异常:0x8007007E)

异常:{System.IO.FileNotFoundException:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)在 System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD) 在 Microsoft.VisualStudio.TestPlatform.TestExecutor.TestExecutorServiceWrapper..ctor() 在 WinPhoneApp.UnitTests.MainPage 的 vstest_executionengine_platformbridge.MessageTransmitter..ctor()。 .ctor()}

堆栈跟踪:在 System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD) 在 vstest_executionengine_platformbridge.MessageTransmitter..ctor() 在 Microsoft.VisualStudio.TestPlatform.TestExecutor.TestExecutorServiceWrapper..ctor() 在 WinPhoneApp.UnitTests.MainPage..ctor()

4

2 回答 2

0

我也遇到了这个问题。我在这里找到了一些很好的信息:http: //dotnetbyexample.blogspot.com/2013/06/x86arm-configuration-gotcha-in-windows.html

小故事:Windows Phone 8 单元测试应用程序项目是一个特定于平台的项目(x86 用于模拟器,ARM 用于实际设备)。我的 WP8 项目是 AnyCPU,所以当我添加测试项目时,我试图让测试项目 AnyCPU 与我的主要设置相匹配,这导致了这个错误。

添加用于测试电话项目的配置(如链接的博客文章所建议的那样)解决了我的问题,我的测试现在运行良好。

于 2013-12-21T06:05:03.410 回答
0

所以我没有发现我的测试项目有什么问题,但我确实让它工作了。我最终在我的项目中添加了一个新的单元测试应用程序。我运行了添加到单元测试项目中的默认单元测试。它运行良好,没有 FileNotFoundException。所以我开始添加我的所有引用,包括 NuGet 引用,检查单元测试是否在每次更改时运行。然后,我开始将旧单元测试应用程序中的每个类一一添加到新的单元测试应用程序中,并在每次更改时测试默认单元测试。将所有类添加到新的测试项目后,我没有收到任何错误。

所以坏消息是我不知道是什么导致了最初的错误,但至少我让我的新单元测试项目工作了。

于 2013-10-05T20:34:08.480 回答