Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure devops未运行MS测试单元测试_C#_Asp.net Mvc_Asp.net Core_Azure Devops_Mstest - Fatal编程技术网

C# Azure devops未运行MS测试单元测试

C# Azure devops未运行MS测试单元测试,c#,asp.net-mvc,asp.net-core,azure-devops,mstest,C#,Asp.net Mvc,Asp.net Core,Azure Devops,Mstest,在Azure开发运营中遇到了一个奇怪的问题。我正在尝试在Azure开发操作中构建我的项目 .Net项目结构在VS中如下所示: Solution --src --Test ----Test Proj. 1 ----Test Proj. 2 我的azure-pipeline.yml如下所示: trigger: - main pool: vmImage: 'windows-latest' variables: solution: '**/*.sln' BuildPlatform: '

在Azure开发运营中遇到了一个奇怪的问题。我正在尝试在Azure开发操作中构建我的项目

.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
它无法找到任何要运行的测试用例,并且在不运行任何测试的情况下完成该步骤

这里有我遗漏的东西吗?或者我必须在配置中指定其他内容吗

My Test 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>


netcoreapp3.1
假的
Azure devops未运行MS测试单元测试

根据您的设置,测试文件为:

  **\*.UnitTest.dll
  !**\obj\**
您应该确保测试项目的名称以
.UnitTest
结尾,就像
test.UnitTest
一样,否则,生成的dll文件不应该是
*.UnitTest.dll

要解决此问题,可以使用
test
作为匹配关键字(确保测试项目名称包含
test
关键字):


如果以上内容对您没有帮助,请尝试共享您的测试项目名称和测试任务日志。

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

谢谢Leo,我的测试项目名称最后有“Tests”,所以它被跳过了
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**