Как предотвратить исключение «Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: не удалось найти teC#

Место общения программистов C#
Ответить
Anonymous
 Как предотвратить исключение «Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: не удалось найти te

Сообщение Anonymous »

У меня есть решение .NET 6.0, которое я использую для автоматического тестирования пользовательского интерфейса веб-приложения. Это решение состоит из нескольких проектов, один из которых содержит все тесты, другой представляет собой реализацию протоколирования тестов, а остальные — для других различных зависимостей, которые имеет платформа.
Проект содержащий тесты, использует NUnit в качестве тестовой среды — у него есть пакеты NuGet NUnit (3.13.3) и NUnit3TestAdapter (4.2.1). Проект ведения журнала также включает пакет NUnit, поскольку он использует NUnit.Framework.TestContext для записи журналов в контексте каждого выполняемого теста.
Я использую VS 2022 для разработки этого проекта. решение. Когда я выполняю сборку решения, он сообщит мне, что сборка прошла успешно (кратко мигает в правом нижнем углу), а затем сразу же скажет: «Обнаружена непредвиденная ошибка. Подробности проверьте на панели вывода тестов». Если я проверю это, я увижу:

Код: Выделить всё

Test project MyNamespace.Logging does not reference any .NET NuGet adapter. Test discovery or execution might not work for this project.
It's recommended to reference NuGet test adapters in each test project in the solution.
========== Starting test discovery ==========
Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: Could not find testhost
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DotnetTestHostManager.GetTestHostProcessStartInfo(IEnumerable`1 sources, IDictionary`2 environmentVariables, TestRunnerConnectionInfo connectionInfo)
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 sources, String runSettings)
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyDiscoveryManager.DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEventsHandler2 eventHandler)
NUnit Adapter 4.2.0.0: Test discovery starting
NUnit Adapter 4.2.0.0: Test discovery complete
========== Test discovery aborted: 60 Tests found in 1 sec ==========
Итак, он жалуется, что для моего проекта ведения журнала нет тестового адаптера. Конечно, мне не нужен адаптер для этого проекта, поскольку он не содержит тестов. Просто чтобы попытаться добиться некоторого прогресса, я установил тот же адаптер NUnit, который используется в моем тестовом проекте. Затем ошибка в области вывода теста уменьшается до:

Код: Выделить всё

========== Starting test discovery ==========
Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: Could not find testhost
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Hosting.DotnetTestHostManager.GetTestHostProcessStartInfo(IEnumerable`1 sources, IDictionary`2 environmentVariables, TestRunnerConnectionInfo connectionInfo)
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 sources, String runSettings)
at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyDiscoveryManager.DiscoverTests(DiscoveryCriteria discoveryCriteria, ITestDiscoveryEventsHandler2 eventHandler)
NUnit Adapter 4.2.0.0: Test discovery starting
NUnit Adapter 4.2.0.0: Test discovery complete
========== Test discovery aborted: 60 Tests found in 1.1 sec ==========
Таким образом, установка пакета очищает первую его часть (но, конечно, мне не очень хочется его устанавливать). Затем я прочитал документацию NUnit и нашел атрибут NonTestAssembly, который, похоже, был тем, что мне нужно. Я создал файл AssemblyInfo.cs и добавил его в корень моего проекта ведения журнала, а затем добавил в него строку [assembly: NUnit.Framework.NonTestAssembly]. Пересобрал решение, но ошибка осталась, как указано выше. Кто-нибудь знает, что я могу сделать, чтобы VS был доволен этим? Это расстраивает, поскольку над моим проектом ведения журнала отображается значок конической колбы, что не идеально, а также затрудняет просмотр сообщения «Сборка выполнена успешно», поскольку оно быстро переопределяется ошибкой.
Я неправильно использую пакет NUnit?


Подробнее здесь: https://stackoverflow.com/questions/737 ... atformexce
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»