Azure DevOps 未运行 MS 测试单元测试

时间:2021-01-13 13:52:52

标签: c# asp.net-mvc asp.net-core azure-devops mstest

Azure Dev ops 遇到一个奇怪的问题。我正在尝试在 Azure Dev ops 中构建我的项目。

.Net 项目结构在 VS 中如下所示:

Solution
--src
--Test
----Test Proj. 1
----Test Proj. 2

我的 azure-pipeline.yml 看起来像这样:

trigger:
- main

pool:
  vmImage: 'windows-latest'

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

steps:
- task: NuGetToolInstaller@1
- task: UseDotNet@2
  inputs:
    packageType: 'sdk'
    version: '3.1.x'
    includePreviewVersions: true
- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: 'restore'
    projects: '**/*.sln'
    feedsToUse: 'config'
    nugetConfigPath: 'nuget.config'

- task: VSBuild@1
  inputs:
    solution: 'Project.sln'
    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)'
    msbuildArchitecture: x64
- task: VSTest@2
  displayName: Test
  inputs:
    testAssemblyVer2: |
      **\*.UnitTest.dll
      !**\obj\**
    vsTestVersion: latest
    runSettingsFile: test\test.runsettings
    codeCoverageEnabled: true
    platform: $(BuildPlatform)
    configuration: $(BuildConfiguration)
    diagnosticsEnabled: true
    runInParallel: true

找不到要运行的测试用例,不运行任何测试就完成了步骤。

这里有什么我遗漏的吗?还是我必须在配置中指定其他内容?

我的测试 project.csproj 文件包含以下内容:

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>

    <IsPackable>false</IsPackable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CsvHelper" Version="18.0.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
    <PackageReference Include="MSTest.TestAdapter" Version="2.1.1" />
    <PackageReference Include="MSTest.TestFramework" Version="2.1.1" />
    <PackageReference Include="coverlet.collector" Version="1.3.0" />
  </ItemGroup>

1 个答案:

答案 0 :(得分:0)

对于那些看到此线程但其问题不是由于路径不正确引起的人:检查您是否有适合您正在使用的框架的测试适配器。在上面的例子中它是 MSTest 所以 MSTest.TestAdapter nuget 包需要安装在每个测试项目中