C# Azure devops未运行MS测试单元测试
在Azure开发运营中遇到了一个奇怪的问题。我正在尝试在Azure开发操作中构建我的项目 .Net项目结构在VS中如下所示: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: '
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
soMSTest.TestAdapter
nuget包需要安装在每个测试项目中谢谢Leo,我的测试项目名称最后有“Tests”,所以它被跳过了
**\*test*.dll
!**\*TestAdapter.dll
!**\obj\**