簡體   English   中英

Resharper沒有調試MSTest測試

[英]Resharper not debugging MSTest tests

我正在使用Resharper Ultimate 2017.3.1

當我嘗試調試單元測試時

[DataTestMethod]
[DataRow("bla", "blub")]
public void Test_When_Then() { ... }

然后測試停止調試,更改為狀態inconclusive並在resharper測試資源管理器窗口中顯示以下錯誤:

2018.01.17 13:02:20.367錯誤轉換失敗:事件發生時從狀態轉換。 原因:System.ArgumentException:測試運行中至少應有一個測試。 Parametername:tests ---> System.ServiceModel.FaultException:測試運行中至少應該有一個測試。 Parametername:測試服務器堆棧跟蹤:System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc和rpc)在System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object在System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)的System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)上的[] outs,TimeSpan timeout)在[0]處重新拋出異常:在System.Runtime。在Microsoft.VisualStudio.TestPlatform.Core.ITestExecutorService.StartTestRun的System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32類型)中的Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests,String testRunSettings,TestExecutionContext executionContext,String dataCollectorServiceUri)---內部異常堆棧跟蹤結束---在JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.StartTestRun() at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\ActionHolders\\ArgumentLessActionHolder.cs:line 37 at Appccelerate.StateMachine.Machine.States.State ,位於C:\\ projects中的1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.StartTestRun() at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\ActionHolders\\ArgumentLessActionHolder.cs:line 37 at Appccelerate.StateMachine.Machine.States.State 2.ExecuteEntryAction(IActionHolder actionHolder,ITransitionContext`2 context) \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs:line 340

--- EXCEPTION#1/1 [LoggerException] Message =“轉換失敗:從事件狀態轉換。
原因:System.ArgumentException:測試運行中至少應有一個測試。 Parametername:tests ---> System.ServiceModel.FaultException:測試運行中至少應該有一個測試。 Parametername:測試服務器堆棧跟蹤:System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc和rpc)在System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object在System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)的System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)上的[] outs,TimeSpan timeout)在[0]處重新拋出異常:在System.Runtime。在Microsoft.VisualStudio.TestPlatform.Core.ITestExecutorService.StartTestRun的System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32類型)中的Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests,String testRunSettings,TestExecutionContext executionContext,String dataCollectorServiceUri)---內部異常堆棧跟蹤結束---在JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.StartTestRun() at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\ActionHolders\\ArgumentLessActionHolder.cs:line 37 at Appccelerate.StateMachine.Machine.States.State2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 340 ” ExceptionPath = Root ClassName = JetBrains.Util.LoggerException HResult = COR_E_APPLICATION=80131600 StackTraceString = “ at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.<.ctor>b__10(Object sender, TransitionExceptionEventArgs 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.StartTestRun() at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\ActionHolders\\ArgumentLessActionHolder.cs:line 37 at Appccelerate.StateMachine.Machine.States.State 2.ExecuteEntryAction(IActionHolder actionHolder,ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 340 ” ExceptionPath = Root ClassName = JetBrains.Util.LoggerException HResult = COR_E_APPLICATION=80131600 StackTraceString = “ at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.<.ctor>b__10(Object sender, TransitionExceptionEventArgs 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 340 ” ExceptionPath = Root ClassName = JetBrains.Util.LoggerException HResult = COR_E_APPLICATION=80131600 StackTraceString = “ at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.MsTestExecutionProtocol.<.ctor>b__10(Object sender, TransitionExceptionEventArgs 2 args) .Machine.StateMachine 2.RaiseEvent[T](EventHandler 1 eventHandler,T參數,ITransitionContext 2 context, Boolean raiseEventOnException) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\StateMachine.cs:line 404 at Appccelerate.StateMachine.Machine.StateMachine 2 context, Exception exception) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\StateMachine.cs:line 260 at Appccelerate.StateMachine.Machine.Contexts.TransitionContext 2 context, Boolean raiseEventOnException) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\StateMachine.cs:line 404 at Appccelerate.StateMachine.Machine.StateMachine 2.OnExceptionThrown(ITransitionContext 2 context, Exception exception) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\StateMachine.cs:line 260 at Appccelerate.StateMachine.Machine.Contexts.TransitionContext C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ Contexts \\ TransitionC中的2 context, Exception exception) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\StateMachine.cs:line 260 at Appccelerate.StateMachine.Machine.Contexts.TransitionContext 2.OnExceptionThrown(異常異常) ontext.cs:Appccelerate.StateMachine.Machine.States.State中的第74行:C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State中的2.HandleException(Exception exception, ITransitionContext 2上下文) .cs:在C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State中的Appccelerate.StateMachine.Machine.States.State 2.HandleEntryActionException(ITransitionContext 2上下文,異常異常)中的第307行。 cs:Appccelerate.StateMachine.Machine.States.State中的第357行:C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs中的2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext 2上下文) :位於C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs中的Appccelerate.StateMachine.Machine.States.State 2.ExecuteEntryActions(ITransitionContext 2 context)的第345行:第330行Appccelerate.StateMachine.Machine.States.State 2.Entry(ITransitionContext 2上下文)位於C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs:第247行,位於Appccelerate.StateMachine.Machine.States.State 2.EnterShallow(ITransitionContext 2上下文)在C:\\項目\\ appccelerate \\回購\\的statemachine \\源\\ Appccelerate.StateMachine \\機\\美國\\ State.cs:線285在Appccelerate.StateMachine.Machine.States.State 2.EnterHistoryNone(ITransitionContext 2上下文)在C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs:第429頁的Appccelerate.StateMachine.Machine.States.State 2.EnterByHistory(ITransitionContext 2 context)在C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs:第263行,位於C:\\ projects \\ appccelerate \\中的Appccelerate.StateMachine.Machine.Transitions.Transition 2.Fire(ITransitionContext 2 context) repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ Transitions \\ Transition.cs:第87行 at Appccelerate.StateMachine.Machine.States.State 2.Fire(ITransitionContext 2 context)位於C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ Machine \\ States \\ State.cs:App 222在Appccelerate.StateMachine .Machine.StateMachine 2.Fire(TEvent eventId, Object eventArgument) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\StateMachine.cs:line 230 at Appccelerate.StateMachine.PassiveStateMachine ( )在C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ PassiveStateMachine.cs:第339頁的Appccelerate.StateMachine.PassiveStateMachine 2.Execute() in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\PassiveStateMachine.cs:line 324 at Appccelerate.StateMachine.PassiveStateMachine 2.Fire(TEvent eventId,Object eventArgument)在C:\\ projects \\ appccelerate \\ repos \\ statemachine \\ source \\ Appccelerate.StateMachine \\ PassiveStateMachine.cs:第177行在Appccelerate.StateMachine 2.Fire(TEvent eventId) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\PassiveStateMachine.cs:line 163 at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceClient.TestConnection(IEnumerable System.ServiceModel.Dispatcher上的System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(對象實例,Object []輸入,Object []和輸出)處的SyncInvokeTestConnection(Object,Object [],Object [])中的2.Fire(TEvent eventId) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\PassiveStateMachine.cs:line 163 at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceClient.TestConnection(IEnumerable 1 dummyTestResults) System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&rpc)的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&rpc)上的.DispatchOperationRuntime.InvokeBegin(MessageRpc&rpc)在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&rpc)at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(Me ssageRpc&rpc)位於System.ServiceModel上的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&rpc)處的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc&rpc),位於System.ServiceModel的System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc&rpc)。 System.ServiceModel上System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request,OperationContext currentOperationContext)上的System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext請求,Boolean cleanThread,OperationContext currentOperationContext)中的Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)上System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult結果)的System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult結果)中的.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult結果)在Syste 位於System.ServiceModel.Channels.SynchronizedMessageSource的System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)上的System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult結果)中的m.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult結果)。在System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(對象狀態)的System.ServiceModel.Channels.StreamConnection.OnRead(IAsyncResult結果)中的System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)處的ReceiveAsyncResult.OnReceiveComplete(Object state)at at System.Net.Sea上的System.Net.LazyAsyncResult.ProtectedInvokeCallback(對象結果,IntPtr userToken)中的System.Net.LazyAsyncResult.Complete(IntPtr userToken)(Int32 readBytes,Byte []緩沖區,Int32偏移量,Int32計數) System.N上的System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)上的,AsyncProtocolRequest asyncRequest) 位於System.ServiceModel的System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)的System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)上的System.Net.FixedSizeReader.CheckCompletionBeforeRext(Int32字節)處的et.AsyncProtocolRequest.CompleteRequest(Int32 result)。在System.ServiceModel.Channels.OverlappedContext.CompleteCallback的System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean hasResult,Int32 error,Int32 numBytes)中的Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)(UInt32錯誤,UInt32 numBytes,NativeOverlapped *在System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode,UInt32 numBytes,NativeOverlapped * pOVERLAP)的System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32錯誤,UInt32 bytesRead,NativeOverlapped * nativeOverlapped)處於nativeOverlapped)

有沒有人有這個錯誤,並知道如何修復它,以便我可以再次調試我的單元測試?

提前致謝

我在更新ReSharper時遇到此錯誤,結果是與Microsoft.VisualStudio.TestPlatform相關的引用NuGet包的問題已經過時。

創建一個新的測試項目並比較這些程序集的版本,這些程序集將在創建項目時自動添加。

對於以下程序集,使用版本14.0.0.1正在為我工​​作:

參考

  • ReSharper 2017.3.1
  • VS 2017 15.5.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM