我的问题非常类似于此处报道的问题:UnitTestIsolationException when debugging tests using Fakes
但是,我甚至无法运行测试。使用此处提供的示例代码:Isolating Code Under Test with Microsoft Fakes(Shims入门),我在运行以下测试时遇到以下异常:
违规行是:
using (ShimsContext.Create())
运行测试时出现异常:
测试名称:TestMethod1
测试FullName:TestingShimsAndStubs.UnitTest1.TestMethod1
测试源:c:\ poc \ TestingShimsAndStubs \ TestingShimsAndStubs \ UnitTest1.cs:第12行
测试结果:失败 测试持续时间:0:00:00.0182403
结果讯息:
测试方法TestingShimsAndStubs.UnitTest1.TestMethod1扔了 例外: Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: 无法获取探查器模块处理' C:\ Program Files(x86)\ Microsoft 视觉工作室 12.0 \ Common7 \ IDE \ CommonExtensions \微软\的IntelliTrace \ 12.0.0 \ Microsoft.IntelliTrace.Profiler.12.0.0.dll&#39 ;. 无法找到指定的模块---> System.ComponentModel.Win32Exception:指定的模块不能 找到结果StackTrace: at Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.LibraryMethods.GetModuleHandle(String 文件名) 在Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.IntelliTraceInstrumentationProvider.LoadProfilerModule(String profilerPath) ---内部异常堆栈跟踪结束--- 在Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.IntelliTraceInstrumentationProvider.LoadProfilerModule(String profilerPath) 在Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.IntelliTraceInstrumentationProvider.Initialize() 在Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InitializeUnitTestIsolationInstrumentationProvider() 在Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.CreateContext() 在Microsoft.QualityTools.Testing.Fakes.ShimsContext.Create() 在C:\ poc \ TestingShimsAndStubs \ TestingShimsAndStubs \ UnitTest1.cs中的TestingShimsAndStubs.UnitTest1.TestMethod1():第16行
我在我的机器上使用Microsoft Visual Studio Ultimate 2013 Edition(版本12.0.40629.00 Update 5)和.Net Framework v 4.6.01055。还尝试在Visual Studio 2015 Enterprise Edition上运行测试
答案 0 :(得分:0)
我不确定VS2013 / VS2015正在发生什么但是以管理员身份打开(开始 - >右键单击Visual Studio 2013 - >以管理员身份运行)然后打开测试项目似乎已经解决了问题!
可能有一些公司政策阻止我的常规用户帐户无法访问该文件夹。模仿管理员帐户似乎已解决此问题。非常感谢你修复它!
此处的解决方案是在Unable to run Unit Tests that uses Microsoft Fakes 打开帖子后,其中一位管理员解决了问题