Тестирование xUnit в обозревателе тестированияC#

Место общения программистов C#
Ответить
Anonymous
 Тестирование xUnit в обозревателе тестирования

Сообщение Anonymous »

Я пытаюсь добавить тесты в свое приложение MAUI.

Я добавил тестовый проект xUnit в отдельное пространство имен. Тесты запускаются только в терминале с помощью команды dotnet test.

Если я использую обозреватель тестов, он не находит тесты, и запуск завершается неудачей. Мой проект — .NET 9.0, но работает адаптер VSTest (64-разрядная версия .NET Framework 4.8.9310.0).

Пример журнала:

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

Построение тестовых проектов
Запуск обнаружения тестов для запрошенного тестового запуска
========== Запуск обнаружения тестов ==========
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v3.1.5+1b188a7b0a (64-bit .NET Framework 4.8.9310.0)
[xUnit.net 00:00:00.52] Exception discovering tests: System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" либо одну из их зависимостей. Не удается найти указанный файл.
Имя файла: 'System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
в System.ModuleHandle.ResolveMethod(RuntimeModule module, Int32 methodToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount)
в System.ModuleHandle.ResolveMethodHandleInternalCore(RuntimeModule module, Int32 methodToken, IntPtr[] typeInstantiationContext, Int32 typeInstCount, IntPtr[] methodInstantiationContext, Int32 methodInstCount)
в System.ModuleHandle.ResolveMethodHandleInternal(RuntimeModule module, Int32 methodToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
в System.Reflection.CustomAttributeData..ctor(RuntimeModule scope, CustomAttributeRecord caRecord)
в System.Reflection.CustomAttributeData.GetCustomAttributes(RuntimeModule module, Int32 tkTarget)
в System.Reflection.CustomAttributeData.GetCustomAttributesInternal(RuntimeAssembly target)
в Xunit.Sdk.ReflectionAssemblyInfo.GetCustomAttributes(String assemblyQualifiedAttributeTypeName) в /_/src/xunit.execution/Sdk/Reflection/ReflectionAssemblyInfo.cs:строка 60
в Xunit.Sdk.XunitTestFrameworkDiscoverer..ctor(IAssemblyInfo assemblyInfo, ISourceInformationProvider sourceProvider, IMessageSink diagnosticMessageSink, IXunitTestCollectionFactory collectionFactory) в /_/src/xunit.execution/Sdk/Frameworks/XunitTestFrameworkDiscoverer.cs:строка 36
в Xunit.Sdk.XunitTestFramework.CreateDiscoverer(IAssemblyInfo assemblyInfo) в /_/src/xunit.execution/Sdk/Frameworks/XunitTestFramework.cs:строка 21
в Xunit.Sdk.TestFramework.GetDiscoverer(IAssemblyInfo assemblyInfo) в /_/src/xunit.execution/Sdk/Frameworks/TestFramework.cs:строка 71
в Xunit.Runner.v2.Xunit2..ctor(IMessageSink diagnosticMessageSink, AppDomainSupport appDomainSupport, ISourceInformationProvider sourceInformationProvider, IAssemblyInfo assemblyInfo, String assemblyFileName, String xunitExecutionAssemblyPath, String configFileName, Boolean shadowCopy, String shadowCopyFolder, Boolean verifyAssembliesOnDisk)
в Xunit.Runner.v2.Xunit2.ForDiscoveryAndExecution(XunitProjectAssembly projectAssembly, ISourceInformationProvider sourceInformationProvider, IMessageSink diagnosticMessageSink, Boolean verifyAssembliesOnDisk)
в Xunit.XunitFrontController.Create(XunitProjectAssembly projectAssembly, ISourceInformationProvider sourceInformationProvider, IMessageSink diagnosticMessageSink, ITestProcessLauncher testProcessLauncher)
в Xunit.Runner.VisualStudio.VsTestRunner.d__24`1.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в Xunit.Runner.VisualStudio.VsTestRunner.d__24`1.MoveNext()

In MobileApp\tets\MA.Tests\bin\Debug\net9.0\MA.Tests.dll нет доступных тестов. Убедитесь, что средства обнаружения и выполнения тестов зарегистрированы, а также проверьте правильность параметров платформы и версии платформы, после чего повторите попытку.
========== Обнаружение тестов завершено: обнаружено тестов в 2,2 с: 0 ==========
Выполняются все тесты в проекте: MA.Tests
========== Начало тестового запуска ==========
========== Запуск тестов прерван: тестов запущено в < 1 мс: 0 (пройдено: 0, не пройдено: 0, пропущено: 0). ==========
Я попробовал очистить кеш, удалить объект bin и переустановить .NET 9.0 SDK. Мой .csproj выглядит так:

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



net9.0
enable
enable
false
true
false
false
Exe




all
runtime; build; native; contentfiles; analyzers; buildtransitive




all
runtime; build; native; contentfiles; analyzers; buildtransitive














Я также попробовал использовать части кода, которые сейчас прокомментированы. Я добавил OutputType = exe, без этого тоже не заработало.
У кого-нибудь такая же проблема?

Подробнее здесь: https://stackoverflow.com/questions/798 ... g-explorer
Ответить

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

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

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

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

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