Сбой VSTest @ 2 задачи конвейеров Azure с ошибкой — не удалось загрузить файл или сборку ‘Microsoft.VisualStudio.TestPlatform.Common.resources’

#azure-devops #azure-pipelines #azure-pipelines-build-task #azure-deployment #azure-pipelines-yaml

#azure-devops #azure-конвейеры #azure-pipelines-build-task #azure-развертывание #azure-pipelines-yaml

Вопрос:

Я создал проекты тестовых примеров .Net Core 3.1 API. В моем проекте есть следующие пакеты nugget.

  • Microsoft.NET.Test.Sdk 15.3.0
  • Moq 4.16.1
  • xunit — 2.4.1
  • xunit.runner.visualstudio — 2.4.3

Проект модульного тестирования выполняется правильно в VS 2019, и все мои тестовые примеры пройдены. В файле развертывания yaml у меня есть следующий код.

 - task: VSTest@2
 - inputs:
     platform: '$(buildPlatform)'
     configuration: '$(buildConfiguration)'
 

Эта задача завершается с множеством ошибок

 2021-03-03T18:33:16.4990294Z [MSTest][Discovery][D:a1sAPIMyProject.ApiTestsbinReleasenetcoreapp3.1csMicrosoft.VisualStudio.TestPlatform.Common.resources.dll] Failed to discover tests from assembly D:a1sAPIMyProject.ApiTestsbinReleasenetcoreapp3.1csMicrosoft.VisualStudio.TestPlatform.Common.resources.dll. Reason:Could not load file or assembly 'Microsoft.VisualStudio.TestPlatform.Common.resources' or one of its dependencies. The system cannot find the file specified.
2021-03-03T18:33:16.5032225Z [MSTest][Discovery][D:a1sAPIMyProject.ApiTestsbinReleasenetcoreapp3.1csMicrosoft.VisualStudio.TestPlatform.ObjectModel.resources.dll] Failed to discover tests from assembly D:a1sAPIMyProject.ApiTestsbinReleasenetcoreapp3.1csMicrosoft.VisualStudio.TestPlatform.ObjectModel.resources.dll. Reason:Could not load file or assembly 'Microsoft.VisualStudio.TestPlatform.ObjectModel.resources' or one of its dependencies. The system cannot find the file specified.
2021-03-03T18:33:16.5033961Z [MSTest][Discovery][D:a1sAPIMyProject.ApiTestsbinReleasenetcoreapp3.1deMicrosoft.TestPlatform.CommunicationUtilities.resources.dll] Failed to discover tests from assembly D:a1sAPIMyProject.ApiTestsbinReleasenetcoreapp3.1deMicrosoft.TestPlatform.CommunicationUtilities.resources.dll. Reason:Could not load file or assembly 'Microsoft.TestPlatform.CommunicationUtilities.resources' or one of its dependencies. The system cannot find the file specified.
 

и так далее.

Я попытался обновить / понизить рейтинг Microsoft.NET.Test.Версии Sdk, но не повезло. Любая помощь будет высоко оценена.

Ответ №1:

В наших проектах мы делаем несколько вещей: убедитесь, что установлен правильный набор инструментов, и будьте конкретны в отношении пути тестирования:

           - task: VisualStudioTestPlatformInstaller@1
            displayName: 'Install Visual Studio Test Platform'
            inputs:
              packageFeedSelector: 'nugetOrg'
              versionSelector: 'latestStable'
          - task: VSTest@2
            displayName: 'Run Unit Tests'
            inputs:
              vsTestVersion: 'toolsInstaller'    
              # our test projects all have ".Tests" in the name
              testAssemblyVer2: '**/bin/$(buildConfiguration)/*.Tests.dll'
              platform: '$(buildPlatform)'
              configuration: '$(buildConfiguration)'
              codeCoverageEnabled: true
              runTestsInIsolation: true
 

Ответ №2:

Приведенный выше ответ от WaitingForGuacamole работал вместе с обновлением до Microsoft.NET.Test.Sdk до 16.9.1. Спасибо.