Как заставить мой Auzure-Pipeline запускать тестирование .NET Framework 4.7 - PullRequest
0 голосов
/ 18 октября 2019

У меня есть два проекта модульных тестов (созданных, когда я учился юнит-тестированию).

Когда я запускаю мою сборку (yaml) в своем конвейере Azure, мой проект .NET Core 2.2 запускает свой тест, но я не могу заставить мой другой проект запустить его тест.

Мой ямл может быть немного грязным, пытаясь решить эту проблему. Пожалуйста, дайте мне знать, если вы видите что-то не так.

Properties of Projects

# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger:
- master

pool: Default

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: DotNetCoreCLI@2
  inputs:
    command: test
    projects: '**/*.csproj'
    arguments: '--configuration $(buildConfiguration)'

- task: VisualStudioTestPlatformInstaller@1
  inputs:
    packageFeedSelector: 'nugetOrg'
    versionSelector: 'latestStable'


- task: VSTest@2
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**
    searchFolder: '$(System.DefaultWorkingDirectory)'
    vsTestVersion: 'toolsInstaller'

1 Ответ

1 голос
/ 21 октября 2019

Как заставить мой Auzure-Pipeline запускать .NET Framework 4.7 Test

Это потому, что вы публикуете решение в задаче сборки Visual Studio вместо ее построения.

В качестве задачи VSBuild в вашем yaml:

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

Проект веб-приложения будет опубликован в папке артефактов $(build.artifactStagingDirectory), но тестовый проект не будет построен.

По этой причине вам не удалось запустить другой проект .NET Framework 4.7 Test.

Чтобы решить эту проблему, нам нужно создать решение (или тестовые проекты) вместо его публикации. , поэтому вам нужно добавить задачу визуальной сборки студии в build этого решения, а затем протестировать ее.

Надеюсь, это поможет.

...