2017-08-04 131 views
4

我有一個使用xUnit的.NET Core項目。雖然我不能再使用Resharper運行任何測試。即使非常簡單的測試也沒有結果。例如: -Resharper未運行xUnit測試

using Xunit; 

public class MyTests 
{ 
    [Fact] 
    public void MySuperTest() 
    { 
     Assert.Equal(1, 1); 
    } 
} 

輸出日誌顯示了異常:

2017.08.04 16:58:41.304 INFO BuildStage started 
2017.08.04 16:58:41.304 INFO Build policy: Automatic 
2017.08.04 16:58:42.636 INFO 1 projects built 
2017.08.04 16:58:42.636 VERBOSE  Computershare.AssetManagement.Testing 
2017.08.04 16:58:42.637 INFO BuildStage completed 
2017.08.04 16:58:42.638 INFO RefreshProjectPropertiesStage started 
2017.08.04 16:58:42.638 INFO RefreshProjectPropertiesStage completed 
2017.08.04 16:58:42.640 INFO DiscoveryStage started 
2017.08.04 16:58:42.641 INFO Test exploration required for 1 projects 
2017.08.04 16:58:42.641 VERBOSE  Computershare.AssetManagement.Testing 
2017.08.04 16:58:42.643 INFO DiscoveryStage completed 
2017.08.04 16:58:42.643 INFO BuildPipelineStage started 
2017.08.04 16:58:42.643 INFO BuildPipelineStage completed 
2017.08.04 16:58:42.643 INFO ApplyRulesStage started 
2017.08.04 16:58:42.647 INFO Got 1 elements (1 explicit) to run 
2017.08.04 16:58:42.647 INFO Marking 1 elements as Pending 
2017.08.04 16:58:42.679 INFO Marking elements as Pending completed 
2017.08.04 16:58:42.679 INFO Distributing 1 elements into runs 
2017.08.04 16:58:42.695 INFO Host Controller initialization started 
2017.08.04 16:58:42.695 VERBOSE Host Controller: DebugTaskRunnerHostController 
2017.08.04 16:58:42.695 INFO Host Controller initialization completed 
2017.08.04 16:58:42.721 INFO Distributing elements completed 
2017.08.04 16:58:42.721 INFO Created 1 unit-test runs 
2017.08.04 16:58:42.721 INFO ApplyRulesStage completed 
2017.08.04 16:58:42.721 INFO RunTestsStage started 
2017.08.04 16:58:42.722 VERBOSE Running up to 1 unit-test runs in parallel 
2017.08.04 16:58:42.727 INFO Run: 28147df6-3156-4f24-bd5a-ca737ab6c43a - Started 
2017.08.04 16:58:42.728 VERBOSE  Provider: xUnit.net 
    Project: Computershare.AssetManagement.Testing 
    Target Framework: .NETCoreApp,Version=v1.1 
    Strategy: JetBrains.ReSharper.UnitTestFramework.DotNetCore.DotNetVsTest.DotNetVsTestRunStrategy 
    Runtime Enviroment: 
     Platform Type: x64 
     Platform Version: v4_0 
2017.08.04 16:58:42.747 TRACE Register handler for message type 'TestSession.Message', protocol version '1' 
2017.08.04 16:58:42.747 TRACE Register handler for message type 'ProtocolVersion', protocol version '<unset>' 
2017.08.04 16:58:42.747 TRACE Register handler for message type 'TestSession.Connected', protocol version '<unset>' 
2017.08.04 16:58:42.747 TRACE Register handler for message type 'TestExecution.CustomTestHostLaunch', protocol version '1' 
2017.08.04 16:58:42.748 TRACE Register handler for message type 'TestExecution.Completed', protocol version '1' 
2017.08.04 16:58:42.748 TRACE Register handler for message type 'TestExecution.StatsChange', protocol version '1' 
2017.08.04 16:58:42.750 INFO Starting process: dotnet vstest /port:47441 
2017.08.04 16:58:42.754 INFO Started process with pid 12856 
2017.08.04 16:58:43.266 TRACE Processing message 'TestSession.Connected' 
2017.08.04 16:58:43.266 TRACE Processed message 'TestSession.Connected' 
2017.08.04 16:58:43.272 TRACE Processing message 'ProtocolVersion' 
2017.08.04 16:58:43.274 INFO Using test adapter: ...PROJECT PATH REMOVED...\bin\Debug\netcoreapp1.1\xunit.runner.visualstudio.dotnetcore.testadapter.dll 
2017.08.04 16:58:43.274 WARN File ...PROJECT PATH REMOVED...\bin\Debug\netcoreapp1.1\xunit.runner.visualstudio.dotnetcore.testadapter.dll does not exist on disk 
2017.08.04 16:58:43.304 ERROR Transition failed: Transition from state <HandShake> on event <remote::.ProtocolVersion>. Cause: System.InvalidOperationException: Test-cases are missing for the selected tests. Did discovery succeed? at JetBrains.ReSharper.UnitTestFramework.DotNetCore.DotNetVsTest.DotNetVsTestExecution.SendGetProcessStartInfo() at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) at Appccelerate.StateMachine.Machine.States.State`2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext`2 context) 

--- EXCEPTION #1/1 [LoggerException] 
Message = 「 
    Transition failed: Transition from state <HandShake> on event <remote::.ProtocolVersion>. 
    Cause: System.InvalidOperationException: Test-cases are missing for the selected tests. Did discovery succeed? 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.DotNetVsTest.DotNetVsTestExecution.SendGetProcessStartInfo() 
    at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) 
    at Appccelerate.StateMachine.Machine.States.State`2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext`2 context) 
」 
ExceptionPath = Root 
ClassName = JetBrains.Util.LoggerException 
HResult = COR_E_APPLICATION=80131600 
StackTraceString = 「 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.DotNetVsTest.DotNetVsTestProtocol.<.ctor>b__e(Object sender, TransitionExceptionEventArgs`2 args) 
    at Appccelerate.StateMachine.Machine.StateMachine`2.RaiseEvent[T](EventHandler`1 eventHandler, T arguments, ITransitionContext`2 context, Boolean raiseEventOnException) 
    at Appccelerate.StateMachine.Machine.StateMachine`2.OnExceptionThrown(ITransitionContext`2 context, Exception exception) 
    at Appccelerate.StateMachine.Machine.Contexts.TransitionContext`2.OnExceptionThrown(Exception exception) 
    at Appccelerate.StateMachine.Machine.States.State`2.HandleException(Exception exception, ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.HandleEntryActionException(ITransitionContext`2 context, Exception exception) 
    at Appccelerate.StateMachine.Machine.States.State`2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.ExecuteEntryActions(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.Entry(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.EnterShallow(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.EnterHistoryNone(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.EnterByHistory(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.Transitions.Transition`2.Fire(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.States.State`2.Fire(ITransitionContext`2 context) 
    at Appccelerate.StateMachine.Machine.StateMachine`2.Fire(TEvent eventId, Object eventArgument) 
    at Appccelerate.StateMachine.PassiveStateMachine`2.ProcessQueuedEvents() 
    at Appccelerate.StateMachine.PassiveStateMachine`2.Execute() 
    at Appccelerate.StateMachine.PassiveStateMachine`2.Fire(TEvent eventId, Object eventArgument) 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.Channel.DotNetCoreMessageListener.<>c__DisplayClass2`1.<RegisterMessage>b__1(JToken payload) 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.Channel.DotNetCoreMessageListener.OnMessage(String rawMessage) 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.Channel.DotNetCoreRemoteChannel.ReaderThreadProc() 
    at JetBrains.ReSharper.TaskRunnerFramework.RemoteChannelBase.<Start>b__0(Object _) 
    at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) 
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 
    at System.Threading.ThreadPoolWorkQueue.Dispatch() 
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 
」 

2017.08.04 16:58:43.306 ERROR Run: 28147df6-3156-4f24-bd5a-ca737ab6c43a - Faulted 
2017.08.04 16:58:43.306 ERROR System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Test-cases are missing for the selected tests. Did discovery succeed? 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.DotNetVsTest.DotNetVsTestExecution.SendGetProcessStartInfo() 
    at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) 
    at Appccelerate.StateMachine.Machine.States.State`2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext`2 context) 
    --- End of inner exception stack trace --- 
    at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.RunTestsStage.<>c__DisplayClassc.<StartSingleRun>b__8() 
---> (Inner Exception #0) System.InvalidOperationException: Test-cases are missing for the selected tests. Did discovery succeed? 
    at JetBrains.ReSharper.UnitTestFramework.DotNetCore.DotNetVsTest.DotNetVsTestExecution.SendGetProcessStartInfo() 
    at Appccelerate.StateMachine.Machine.ActionHolders.ArgumentLessActionHolder.Execute(Object argument) 
    at Appccelerate.StateMachine.Machine.States.State`2.ExecuteEntryAction(IActionHolder actionHolder, ITransitionContext`2 context)<--- 

2017.08.04 16:58:43.306 TRACE Processed message 'ProtocolVersion' 
2017.08.04 16:58:43.306 INFO RunTestsStage completed 
2017.08.04 16:58:43.307 INFO Finishing run 
2017.08.04 16:58:43.316 INFO Run is finished 

我的NuGet進口:

<ItemGroup> 
    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> 
    <PackageReference Include="Microsoft.NETCore.Portable.Compatibility" Version="1.0.1" /> 
    <PackageReference Include="System.Runtime.InteropServices.WindowsRuntime" Version="4.3.0" /> 
    <PackageReference Include="System.ServiceModel.Http" Version="4.3.0" /> 
    <PackageReference Include="xunit" Version="2.2.0" /> 
    <PackageReference Include="xunit.runner.console" Version="2.2.0" /> 
</ItemGroup> 
+1

我仍然有這個問題與Visual Studio 2017/15.3.0,resharper 2017.1.3,瞄準.Net Core 2.0。升級到.Net Core 2.0後開始出現問題。 – Bassebus

+2

與'VS2017 v15.3'相同的問題,'R#2017.2 EAP12'針對'.NET Core 2.0' – Seany84

+0

@Bassebus您可以嘗試預發佈https://www.nuget.org/packages/xunit.runner .console/2.3.0-beta4-build3742 – BanksySan

回答

4

的錯誤是在我的選擇的NuGet包的進口。

相反的:我應該有

<PackageReference Include="xunit.runner.console" Version="2.2.0" /> 

<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> 

你可能需要重建或在此之後關閉的Visual Studio,然後重新打開。

+1

對於.NET Core(2.x),只需添加最新的xunit.runner.visualstudio NuGet包。 –