gpt4 book ai didi

c# - Resharper 不调试 MSTest 测试

转载 作者:行者123 更新时间:2023-11-30 17:31:13 25 4
gpt4 key购买 nike

我正在使用 Resharper Ultimate 2017.3.1

当我尝试调试单元测试时

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

然后测试停止调试,状态变为inconclusive resharper 测试资源管理器窗口中显示以下错误:

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(IEnumerable1
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(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.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(IEnumerable1
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(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.State
2.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, TransitionExceptionEventArgs
2 args) at Appccelerate.StateMachine.Machine.StateMachine2.RaiseEvent[T](EventHandler1 eventHandler, T arguments, ITransitionContext2 context, Boolean
raiseEventOnException) in
C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\StateMachine.cs:line
404
at Appccelerate.StateMachine.Machine.StateMachine
2.OnExceptionThrown(ITransitionContext2
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\TransitionContext.cs:line 74 at Appccelerate.StateMachine.Machine.States.State2.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.State2.HandleEntryActionException(ITransitionContext2 context, Exception exception) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 357 at Appccelerate.StateMachine.Machine.States.State2.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.State2.ExecuteEntryActions(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 330 at Appccelerate.StateMachine.Machine.States.State2.Entry(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 247 at Appccelerate.StateMachine.Machine.States.State2.EnterShallow(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 285 at Appccelerate.StateMachine.Machine.States.State2.EnterHistoryNone(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 429 at Appccelerate.StateMachine.Machine.States.State2.EnterByHistory(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 263 at Appccelerate.StateMachine.Machine.Transitions.Transition2.Fire(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\Transitions\Transition.cs:line 87 at Appccelerate.StateMachine.Machine.States.State2.Fire(ITransitionContext2 context) in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\Machine\States\State.cs:line 222 at 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.PassiveStateMachine
2.ProcessQueuedEvents() in C:\projects\appccelerate\repos\statemachine\source\Appccelerate.StateMachine\PassiveStateMachine.cs:line 339 at Appccelerate.StateMachine.PassiveStateMachine2.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.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(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(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 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) ”

有没有人也遇到过这个错误并且知道如何修复它以便我可以再次调试我的单元测试?

提前致谢

最佳答案

我在更新 ReSharper 时遇到了这个错误,原来是与 Microsoft.VisualStudio.TestPlatform 相关的引用 NuGet 包已过时的问题。

创建一个新的测试项目并比较这些程序集的版本,这些程序集将在创建项目时自动添加。

使用版本 14.0.0.1 对我来说适用于以下程序集:

References

  • ReSharper 2017.3.1
  • 对比 2017 15.5.3

关于c# - Resharper 不调试 MSTest 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48300787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com