.NET Core XUnit тестирует ошибки проекта: активный тестовый запуск был прерван. Причина: .2.0.3545

У меня возникла ошибка при попытке выполнить мой проект тестов .NET Core 2.0.0 XUnit ...

Ошибки

Использование Visual Studio и команды dotnet test

[2018-04-11 22:49:23 Informational] ========== Run test finished: 0 run (0:00:09,154719) ==========
[2018-04-11 22:56:42 Informational] ------ Run test started ------
[2018-04-11 22:56:43 Informational] [xUnit.net 00:00:00.5430826]   Discovering: SolidStack.Core.Guards.Tests
[2018-04-11 22:56:44 Informational] [xUnit.net 00:00:00.6529533]   Discovered:  SolidStack.Core.Guards.Tests
[2018-04-11 22:56:44 Informational] [xUnit.net 00:00:00.7116245]   Starting:    SolidStack.Core.Guards.Tests
[2018-04-11 22:56:52 Error] The active test run was aborted. Reason: .2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c]](<RunTestMethodsAsync>d__38<System.__Canon> ByRef)
   at Xunit.Sdk.TestClassRunner`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].RunTestMethodsAsync()
   at Xunit.Sdk.TestClassRunner`1+<RunAsync>d__37[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Xunit.Sdk.TestClassRunner`1+<RunAsync>d__37[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], xunit.execution.dotnet, Version=2.2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c]](<RunAsync>d__37<System.__Canon> ByRef)
   at Xunit.Sdk.TestClassRunner`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].RunAsync()
   at Xunit.Sdk.TestCollectionRunner`1+<RunTestClassesAsync>d__28[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Xunit.Sdk.TestCollectionRunner`1+<RunTestClassesAsync>d__28[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], xunit.execution.dotnet, Version=2.2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c]](<RunTestClassesAsync>d__28<System.__Canon> ByRef)
   at Xunit.Sdk.TestCollectionRunner`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].RunTestClassesAsync()
   at Xunit.Sdk.TestCollectionRunner`1+<RunAsync>d__27[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Xunit.Sdk.TestCollectionRunner`1+<RunAsync>d__27[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], xunit.execution.dotnet, Version=2.2.0.3545, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c]](<RunAsync>d__27<System.__Canon> ByRef)
   at Xunit.Sdk.TestCollectionRunner`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].RunAsync()
   at Xunit.Sdk.XunitTestAssemblyRunner+<>c__DisplayClass14_2.<RunTestCollectionsAsync>b__3()
   at System.Threading.Tasks.Task`1[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].InnerInvoke()
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   at System.Threading.Tasks.Task.ExecuteEntry()
   at System.Threading.Tasks.SynchronizationContextTaskScheduler+<>c.<.cctor>b__8_0(System.Object)
   at Xunit.Sdk.MaxConcurrencySyncContext.RunOnSyncContext(System.Threading.SendOrPostCallback, System.Object)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at Xunit.Sdk.MaxConcurrencySyncContext.WorkerThreadProc()
   at Xunit.Sdk.XunitWorkerThread+<>c.<QueueUserWorkItem>b__5_0(System.Object)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

[2018-04-11 22:56:52 Informational] ========== Run test finished: 0 run (0:00:09,5410612) ==========

Конфиг

[Project] .Tests.csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="FluentAssertions" Version="5.0.0-beta0003" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SolidStack.Core.Guards\SolidStack.Core.Guards.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
  </ItemGroup>

</Project>

Та же самая конфигурация отлично работает в другом проекте.

Я делаю что-то неправильно?


person Maxime Gélinas    schedule 12.04.2018    source источник
comment
Я удалил свой предыдущий ответ, так как он был совершенно неправильным.   -  person Mickaël Derriey    schedule 12.04.2018
comment
Кажется, вы используете dotnet test против неправильного проекта, поскольку ваш тестовый проект ссылается на него, а не на сам тестовый проект.   -  person Mickaël Derriey    schedule 12.04.2018
comment
О боже, ты совершенно прав! Но почему это не работает внутри Visual Studio?   -  person Maxime Gélinas    schedule 12.04.2018
comment
Я не знаю, но могу предложить две вещи: 1) удалить кеш обозревателя тестов VS в соответствии с инструкциями в документации xUnit. 2) Попробуйте обновить пакеты NuGet до последних версий - я знаю, что xUnit теперь до 2.3.1 IIRC.   -  person Mickaël Derriey    schedule 12.04.2018
comment
@ MickaëlDerriey Я отредактировал свой вопрос на основе вашего комментария о неправильном названии проекта в команде dotnet test. Теперь у меня такая же ошибка из Visual Studio и команды dotnet test. Удаление кеша обозревателя тестов VS и обновление версий пакетов не устранили проблему.   -  person Maxime Gélinas    schedule 12.04.2018
comment
Можете ли вы попробовать создать новое решение .NET Core с помощью тестового проекта .NET Core xUnit (использовать шаблон VS) и попытаться запустить тесты?   -  person Mickaël Derriey    schedule 13.04.2018
comment
@ MickaëlDerriey Я ответил на свой вопрос, но все равно спасибо!   -  person Maxime Gélinas    schedule 13.04.2018


Ответы (1)


Ошибка была вызвана самим кодом, а именно использованием методов Debug.Assert () / Debug.Fail (), что вызывает некоторую ошибку, которая, по-видимому, не обрабатывается xunit.

person Maxime Gélinas    schedule 13.04.2018
comment
Да, я также могу подтвердить тот же вариант использования, когда у меня есть Debug.Assert (false) в модульном тесте (сборка xunit.core, версия = 2.4.0.4049) - person Stanislav Prusac; 12.10.2018