Не удается запустить тесты Xunit на Visual Studio 2017
Не Version 15.6.4
запустить все тесты XUnit на моей Visual Studio 2017. Version 15.6.4
Их можно просмотреть в TestExploer, и когда я запустил их, я получаю что-то вроде этого:
[27.03.2018 12:21:46 Informational] ------ Load Playlist started ------
[27.03.2018 12:21:46 Informational] ========== Load Playlist finished
(0:00:00,0215566) ==========
[27.03.2018 12:22:27 Informational] Executing test method 'Lebara.Remittance.Test.ServiceImplementation.RiskEngineServiceTest.ShouldTest'
[27.03.2018 12:22:27 Informational] ------ Run test started ------
[27.03.2018 12:22:29 Warning] Multiple test adapters with the same uri
'executor://xunit/VsTestRunner2' were found. Ignoring adapter
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:22:29 Warning] [xUnit.net 00:00:00.0209459] Skipping:
Lebara.Remittance.Test (could not find dependent assembly
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
[27.03.2018 12:22:29 Warning] No test is available in C:\ReposNew\Lebara.Remittance\Lebara.Remittance\Lebara.Remittance.Test\bin\Debug\Lebara.Remittance.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[27.03.2018 12:22:29 Informational] ========== Run test finished: 0 run
(0:00:02,1543479) ==========
[27.03.2018 12:34:19 Informational] Executing test method 'Lebara.Remittance.Test.ServiceImplementation.RiskEngineServiceTest.ShouldTest'
[27.03.2018 12:34:19 Informational] ------ Run test started ------
[27.03.2018 12:34:20 Warning] Multiple test adapters with the same uri
'executor://xunit/VsTestRunner2' were found. Ignoring adapter
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:34:20 Warning] [xUnit.net 00:00:00.0200861] Skipping:
Lebara.Remittance.Test (could not find dependent assembly
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
[27.03.2018 12:34:20 Warning] No test is available in C:\ReposNew\Lebara.Remittance\Lebara.Remittance\Lebara.Remittance.Test\bin\Debug\Lebara.Remittance.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[27.03.2018 12:34:20 Informational] ========== Run test finished: 0 run
(0:00:00,7088116) ==========
Я попытался удалить %TEMP%\VisualStudioTestExplorerExtensions
- ничего не помогло.
Дело в том, что несколько дней назад я мог их запустить. Я ничего не изменил. Просто не знаешь, что происходит.
Также у меня было это предупреждение
[27.03.2018 12:22:29 Warning] Multiple test adapters with the same uri
'executor://xunit/VsTestRunner2' were found. Ignoring adapter
'Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner'. Please uninstall the
conflicting adapter(s) to avoid this warning.
[27.03.2018 12:22:29 Warning] [xUnit.net 00:00:00.0209459] Skipping:
Lebara.Remittance.Test (could not find dependent assembly
'Microsoft.Extensions.DependencyModel, Version=1.1.0')
Ответы
Ответ 1
У меня были проблемы с xUnit. Некоторые важные вещи:
1) Убедитесь, что расширение "Microsoft Visual Studio Test Platform" включено
2) Убедитесь, что "Test => Test Settings => Default Processor Architecture" соответствует вашей сборке.
3) Установите пакет nuget 'xunit.runner.visualstudio'
Ответ 2
Если вы используете .NET Core или ASP.NET Core, то из xunit (https://xunit.github.io/docs/getting-started-dotnet-core.html):
Запуск тестов с помощью Visual Studio
Если у вас возникают проблемы с обнаружением или выполнением тестов, вы можете стать жертвой поврежденного кэша бегуна в Visual Studio. Чтобы очистить этот кэш, закройте все экземпляры Visual Studio, затем удалите папку% TEMP%\VisualStudioTestExplorerExtensions. Также убедитесь, что ваше решение связано только с одной версией пакета NuGet для бегуна Visual Studio (xunit.runner.visualstudio).
Если у вас есть сообщество Visual Studio (или платная версия Visual Studio), вы можете запустить свои тесты xUnit.net во встроенном средстве выполнения тестов Visual Studio (называемом Test Explorer). К сожалению, это не включает экспресс-выпуски Visual Studio (вместо этого вам следует перейти на бесплатную версию Community Edition).
Щелкните правой кнопкой мыши проект в обозревателе решений и выберите "Управление пакетами NuGet". Вам нужно будет установить два пакета:
xunit.runner.visualstudio (version 2.3.1 or later)
Microsoft.NET.Test.Sdk (version 15.0.0 or later; we recommend using whatever the latest RTM build is)
Убедитесь, что Test Explorer видим (перейдите в Test> Windows> Test Explorer). Каждый раз, когда вы строите свой проект, бегун будет обнаруживать модульные тесты в вашем проекте. После момента обнаружения вы должны увидеть список обнаруженных тестов:
Нажмите на ссылку Run All в окне Test Explorer, и вы увидите обновление результатов в окне Test Explorer по мере выполнения тестов:
Вы можете нажать на неудачный тест, чтобы увидеть сообщение об ошибке и трассировку стека. Вы можете щелкнуть строки трассировки стека, чтобы перейти непосредственно к ошибочной строке кода.
Также упоминает
Проведение испытаний по нескольким целям
(если некоторые проекты нацелены на Core, а другие на .NET 4.5, например.)
Другая возможность:
Убедитесь, что используете xunit 2.3. 0+
Ответ 3
Я столкнулся с проблемой пару недель назад, когда обновил xUnit до 2.4.0-beta.1
. Исследователь Visual Studio Test Explorer взял оба адаптера теста xUnit и не смог выполнить вышеуказанное сообщение.
К сожалению, это было не просто обновление до последнего обновления VS, поскольку я уже работал последним. Я уже использовал последнюю версию пакета Microsoft.NET.Test.Sdk
. Переход к последней стабильной версии 2.3.1
тоже не сработал, VS все еще собирал оба адаптера.
В конце концов, мне пришлось вручную удалить папки xUnit
зависящие от версии, из папки пакетов решений и кеша NuGet в %userprofile%\.nuget\packages
.
Также должны помочь очистить локальные папки в Managing the global packages, cache, and temp folders
. Если у вас есть быстрое подключение к Интернету, вы можете попробовать выполнить команду "nuke it":
nuget locals all -clear
Ответ 4
Не удалось найти исполнителя теста с URI 'executor://xunit/VsTestRunner2'. Убедитесь, что тестовый исполнитель установлен и поддерживает .net runtime версии 4.0.30319.42000.