![](/img/trans.png)
[英]Moles test completes successfully when debugging tests, but moles host crashes when selecting “run tests”
[英]Moles crashing when unit test debugging is being stopped
我正在Visual Studio 2010 SP1(Windows 7 Enterprise 64位,所有更新通过Windows Update安装)中使用Pex和Moles Power Tools 0.94.51023.0 64位(en_visual_studio_2010_pex_0.94.51023.0_power_tools_x64_598803.exe)。 项目是.NET 2.0,测试以32位模式(在设置中明确设置)运行。 运行时,一切正常,没有错误发生。 但是,当我以调试模式运行测试并在测试完成之前停止时,Moles崩溃了:
Microsoft.Moles.VsHost stopped working
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: microsoft.moles.vshost.x86.exe
Problem Signature 02: 0.94.0.0
Problem Signature 03: 4cc31915
Problem Signature 04: System.Runtime.Remoting
Problem Signature 05: 4.0.0.0
Problem Signature 06: 4ba1df86
Problem Signature 07: e5
Problem Signature 08: c9
Problem Signature 09: System.Runtime.Remoting.Remoting
OS Version: 6.1.7601.2.1.0.256.4
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
附带调试器,并获得了更多详细信息:
The test adapter 'MolesAgentAdapter' threw an exception while running test 'My_Test_Method_Name'. Failed to read from an IPC Port: The pipe has been ended.
调用堆栈:
Server stack trace:
at System.Runtime.Remoting.Channels.Ipc.IpcPort.Connect(String portName, Boolean secure, TokenImpersonationLevel impersonationLevel, Int32 timeout)
at System.Runtime.Remoting.Channels.Ipc.ConnectionCache.GetConnection(String portName, Boolean secure, TokenImpersonationLevel level, Int32 timeout)
at System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.VisualStudio.TestTools.Execution.IResultSink.AddResult(TestMessage testMessage)
at Microsoft.Moles.VsHost.Host.SafeResultSink.AddResult(TestMessage testMessage)
at Microsoft.Moles.VsHost.RunResultSyncLogger.eventLogSource_LogHandler(LogEventArgs e)
at Microsoft.ExtendedReflection.Logging.EventLog.LogUnfiltered(LogEventArgs args)
at Microsoft.ExtendedReflection.Logging.EventLog.LogErrorFromException(Exception ex, String wikiTopic, String category, String message)
at Microsoft.Moles.VsHost.Host.MolesHostAdapter.AsyncRunTests()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
测试运行到最后时,不会发生崩溃。 已经尝试重新安装.NET Framework和Moles,但没有成功解决此问题。 任何想法导致/如何解决此问题? 所示的代理和IPC连接非常奇怪。 提前致谢。
在项目升级过程中解决了问题,最终淘汰了Moles并将其替换为Fakes。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.