3 votes

Resharper ne débogue pas les tests MSTest

J'utilise Resharper Ultimate 2017.3.1.

Lorsque j'essaie de déboguer un test unitaire

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

Ensuite, le test arrête de déboguer, passe à l'état inconclusive et l'erreur suivante apparaît dans la fenêtre de l'explorateur de test de resharper :

2018.01.17 13:02:20.367 ERROR Échec de la transition : Transition de l'état sur l'événement . Cause : System.ArgumentException : Il devrait y avoir au moins un test dans le test run. Nom du paramètre : tests ---> System.ServiceModel.FaultException : Il devrait y avoir au moins un test dans l'exécution du test. Nom de paramètre : tests Trace de la pile du serveur : 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) --- Fin de la trace de la pile des exceptions internes --- 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) en C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 340

--- EXCEPTION #1/1 [LoggerException] Message = " La transition a échoué : Transition de l'état sur l'événement .
Cause : System.ArgumentException : Il devrait y avoir au moins un test dans l'exécution du test. Nom du paramètre : tests ---> System.ServiceModel.FaultException : Il devrait y avoir au moins un test dans l'exécution du test. Nom de paramètre : tests Trace de la pile du serveur : 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 rejetée à [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) --- Fin de la trace de pile de l'exception interne --- 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 args) at Appccelerate.StateMachine.Machine.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) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\Contexts\TransitionContext.cs :ligne 74 at Appccelerate.StateMachine.Machine.States.State 2.HandleException(Exception exception, ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 307 at Appccelerate.StateMachine.Machine.States.State 2.HandleEntryActionException(ITransitionContext 2 contexte, exception exception) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 357 at Appccelerate.StateMachine.Machine.States.State 2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 345 at Appccelerate.StateMachine.Machine.States.State 2.ExecuteEntryActions(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 330 at Appccelerate.StateMachine.Machine.States.State 2.Entry(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 247 at Appccelerate.StateMachine.Machine.States.State 2.EnterShallow(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 285 at Appccelerate.StateMachine.Machine.States.State 2.EnterHistoryNone(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 429 at Appccelerate.StateMachine.Machine.States.State 2.EnterByHistory(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 263 at Appccelerate.StateMachine.Machine.Transitions.Transition 2.Fire(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\Transitions\Transition.cs :ligne 87 at Appccelerate.StateMachine.Machine.States.State 2.Fire(ITransitionContext 2 contexte) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs :ligne 222 at Appccelerate.StateMachine.Machine.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() dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\PassiveStateMachine.cs :ligne 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) dans C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\PassiveStateMachine.cs :ligne 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 résultats de test fictifs) at SyncInvokeTestConnection(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) à l'adresse System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) à l'adresse 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(MessageRpc& 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 System.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.Net.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 erreur, UInt32 numBytes, NativeOverlapped* nativeOverlapped) at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 erreur, UInt32 bytesRead, NativeOverlapped* nativeOverlapped) at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) "

Quelqu'un a-t-il eu cette erreur et sait-il comment la corriger pour que je puisse à nouveau déboguer mes tests unitaires ?

Merci d'avance

1voto

Chrille Points 1107

J'ai eu cette erreur lors de la mise à jour de ReSharper, il s'est avéré être un problème avec les paquets NuGet référencés liés à Microsoft.VisualStudio.TestPlatform étaient périmés.

Créez un nouveau projet de test et comparez les versions de ces assemblages qui seront ajoutés automatiquement lors de la création du projet.

L'utilisation de la version 14.0.0.1 fonctionne pour moi pour les assemblages suivants :

References

  • ReSharper 2017.3.1
  • VS 2017 15.5.3

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X