【发布时间】:2018-01-17 12:06:15
【问题描述】:
我正在使用 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:应该至少有一个测试在 测试运行。参数名称:测试---> System.ServiceModel.FaultException:应该至少有一个测试 在试运行中。参数名称:测试服务器堆栈跟踪:在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串动作, Boolean oneway, ProxyOperationRuntime 操作, Object[] ins, Object[] 出局,TimeSpan 超时)在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime 操作)在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息)在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(消息数据& msgData,Int32 类型)在 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(IEnumerable1 测试,字符串 testRunSettings,TestExecutionContext executionContext, String dataCollectorServiceUri) --- 内部异常堆栈跟踪结束 --- 在 JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable1 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.ExecuteEntryAction(IActionHolder actionHolder,ITransitionContext`2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 340--- 异常 #1/1 [LoggerException] 消息 =“ 转换失败:从事件状态转换。
原因:System.ArgumentException:应该至少有一个测试 试运行。参数名称:测试---> System.ServiceModel.FaultException:应该至少有一个测试 在试运行中。参数名称:测试 服务器堆栈跟踪: 在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc&rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] 出局,TimeSpan 超时) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime 操作) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 信息) 在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(消息数据& msgData,Int32 类型) 在 Microsoft.VisualStudio.TestPlatform.Core.ITestExecutorService.StartTestRun(IEnumerable1 tests, String testRunSettings, TestExecutionContext executionContext, String dataCollectorServiceUri) at JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable1 测试,字符串 testRunSettings,TestExecutionContext executionContext, 字符串 dataCollectorServiceUri) --- 内部异常堆栈跟踪结束 --- 在 JetBrains.ReSharper.UnitTesting.MSTest.Provider.Execution.Wcf.TestExecutorServiceProxy.StartTestRun(IEnumerable1 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.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext2 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, TransitionExceptionEventArgs2 args) 在 Appccelerate.StateMachine.Machine.StateMachine2.RaiseEvent[T](EventHandler1 eventHandler,T 参数,ITransitionContext2 context, Boolean raiseEventOnException) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\StateMachine.cs:line 404 at Appccelerate.StateMachine.Machine.StateMachine2.OnExceptionThrown(ITransitionContext2 context, Exception exception) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\StateMachine.cs:line 260 at Appccelerate.StateMachine.Machine.Contexts.TransitionContext2.OnExceptionThrown(Exception 例外)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\Contexts\TransitionContext.cs:line 74 在 Appccelerate.StateMachine.Machine.States.State2.HandleException(Exception exception, ITransitionContext2 上下文中) C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 307 在 Appccelerate.StateMachine.Machine.States.State2.HandleEntryActionException(ITransitionContext2 上下文,异常异常)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 357 在 Appccelerate.StateMachine.Machine.States.State2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext2 上下文)中 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 345 在 Appccelerate.StateMachine.Machine.States.State2.ExecuteEntryActions(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 330 在 Appccelerate.StateMachine.Machine.States.State2.Entry(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 247 在 Appccelerate.StateMachine.Machine.States.State2.EnterShallow(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 285 在 Appccelerate.StateMachine.Machine.States.State2.EnterHistoryNone(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 429 在 Appccelerate.StateMachine.Machine.States.State2.EnterByHistory(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 263 在 Appccelerate.StateMachine.Machine.Transitions.Transition2.Fire(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\Transitions\Transition.cs:line 87 在 Appccelerate.StateMachine.Machine.States.State2.Fire(ITransitionContext2 上下文)在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 222 在 Appccelerate.StateMachine.Machine.StateMachine2.Fire(TEvent eventId, Object eventArgument) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\StateMachine.cs:line 230 at Appccelerate.StateMachine.PassiveStateMachine2.ProcessQueuedEvents() 在 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\PassiveStateMachine.cs:line 339 在 Appccelerate.StateMachine.PassiveStateMachine2.Execute() in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\PassiveStateMachine.cs:line 324 at Appccelerate.StateMachine.PassiveStateMachine2.Fire(TEvent eventId, Object eventArgument) 中 C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\PassiveStateMachine.cs:line 177 在 Appccelerate.StateMachine.PassiveStateMachine2.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(IEnumerable1 虚拟测试结果) 在 SyncInvokeTestConnection(对象,对象 [],对象 []) 在 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,对象 [] 输入,对象 [] 和输出) 在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& RPC) 在 System.ServiceModel.Dispatcher.MessageRpc.Process(布尔 isOperationContextSet) 在 System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext 请求,布尔型 cleanThread,OperationContext 当前操作上下文) 在 System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext 请求,操作上下文当前操作上下文) 在 System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult 结果) 在 System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult 结果) 在 System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult 结果) 在 System.Runtime.AsyncResult.Complete(布尔完成同步) 在 System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult 结果) 在 System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult 结果) 在 System.Runtime.AsyncResult.Complete(布尔完成同步) 在 System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(对象 状态) 在 System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(对象 状态) 在 System.ServiceModel.Channels.StreamConnection.OnRead(IAsyncResult 结果) 在 System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult 结果) 在 System.Net.LazyAsyncResult.Complete(IntPtr userToken) 在 System.Net.LazyAsyncResult.ProtectedInvokeCallback(对象结果,IntPtr userToken) 在 System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) 在 System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest 异步请求) 在 System.Net.AsyncProtocolRequest.CompleteRequest(Int32 结果) 在 System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 字节) 在 System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult) 在 System.Runtime.AsyncResult.Complete(布尔完成同步) 在 System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(对象 状态) 在 System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(布尔 haveResult, Int32 错误, Int32 numBytes) 在 System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32 错误,UInt32 numBytes,NativeOverlapped* nativeOverlapped) 在 System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 错误,UInt32 bytesRead,NativeOverlapped* nativeOverlapped) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)”
有没有人也遇到过这个错误并且知道如何修复它以便我可以再次调试我的单元测试?
提前致谢
【问题讨论】:
标签: c# .net unit-testing resharper mstest