Сбои родинок при остановке отладки юнит-теста

Я использую Pex и Moles Power Tools 0.94.51023.0 64-bit (en_visual_studio_2010_pex_0.94.51023.0_power_tools_x64_598803.exe) в Visual Studio 2010 SP1 (Windows 7 Enterprise 64-bit, все обновления установлены через Центр обновления Windows). Проект.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 очень странные. Заранее спасибо.

1 ответ

Решение

Проблема была решена во время обновления проекта, что привело к постепенному отказу от родинок и замене их на Fakes.

Другие вопросы по тегам