简体   繁体   中英

Resharper not debugging MSTest tests

I'm using Resharper Ultimate 2017.3.1

When I try to debug a unit tests

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

Then the test stops debugging, changes to state inconclusive and the following error is shown in the resharper test explorer window:

2018.01.17 13:02:20.367 ERROR Transition failed: Transition from state on event . Cause: System.ArgumentException: There should be at least one test in the test run. Parametername: tests ---> System.ServiceModel.FaultException: There should be at least one test in the test run. Parametername: tests Server stack trace: at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 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.TestPlatform.Core.ITestExecutorService.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) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) --- End of inner exception stack trace --- 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.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

--- EXCEPTION #1/1 [LoggerException] Message = “ Transition failed: Transition from state on event .
Cause: System.ArgumentException: There should be at least one test in the test run. Parametername: tests ---> System.ServiceModel.FaultException: There should be at least one test in the test run. Parametername: tests Server stack trace: at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 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.TestPlatform.Core.ITestExecutorService.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) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable 1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) --- End of inner exception stack trace --- 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.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) at Appccelerate.StateMachine.Machine.StateMachine 2.RaiseEvent[T](EventHandler 1 eventHandler, T arguments, 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.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 2.OnExceptionThrown(Exception exception) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\Contexts\\TransitionC ontext.cs:line 74 at Appccelerate.StateMachine.Machine.States.State 2.HandleException(Exception exception, ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 307 at Appccelerate.StateMachine.Machine.States.State 2.HandleEntryActionException(ITransitionContext 2 context, Exception exception) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 357 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 345 at Appccelerate.StateMachine.Machine.States.State 2.ExecuteEntryActions(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 330 at Appccelerate.StateMachine.Machine.States.State 2.Entry(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 247 at Appccelerate.StateMachine.Machine.States.State 2.EnterShallow(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 285 at Appccelerate.StateMachine.Machine.States.State 2.EnterHistoryNone(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 429 at Appccelerate.StateMachine.Machine.States.State 2.EnterByHistory(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 263 at Appccelerate.StateMachine.Machine.Transitions.Transition 2.Fire(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\Transitions\\Transition.cs:line 87 at Appccelerate.StateMachine.Machine.States.State 2.Fire(ITransitionContext 2 context) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\Machine\\States\\State.cs:line 222 at 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 2.ProcessQueuedEvents() in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\PassiveStateMachine.cs:line 339 at 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) in C:\\projects\\appccelerate\\repos\\statemachine\\source\\Appccelerate.StateMachine\\PassiveStateMachine.cs:line 177 at Appccelerate.StateMachine .PassiveStateMachine 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) at SyncInvokeTestConnection(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(Me ssageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext) at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext) at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result) at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result) at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously) at Syste m.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result) at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously) at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state) at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state) at System.ServiceModel.Channels.StreamConnection.OnRead(IAsyncResult result) at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) at System.Net.LazyAsyncResult.Complete(IntPtr userToken) at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken) at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest) at System.N et.AsyncProtocolRequest.CompleteRequest(Int32 result) at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes) at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult) at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously) at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state) at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes) at System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32 error, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped) at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) ”

Has anyone had this error too and knows how to fix it so that I can debug my unit tests again?

Thanks in advance

I had this error when updating ReSharper, it turned out to be a problem with the referenced NuGet packages related to Microsoft.VisualStudio.TestPlatform were outdated.

Create a new test project and compare the versions of these assemblies which will be added automatically when the project is created.

Using version 14.0.0.1 is working for me for the following assemblies:

参考

  • ReSharper 2017.3.1
  • VS 2017 15.5.3

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM