Azure Devops: 在Nuget构建流水线中过滤测试项目

97次阅读
没有评论

问题描述

在使用Azure Devops的Nuget构建流水线时遇到了一个问题。他的集成测试项目被打包并部署到Azure Artifacts中,而单元测试项目却没有被打包。用户希望将集成测试项目包含在项目中,但不希望将其部署到Artifacts中。
用户的解决方案是使用以下步骤:
1. 恢复
2. 构建
3. 测试
4. 发布
5. 打包
6. 推送
用户已经尝试了以下路径来过滤测试项目:
– 测试项目路径(有效):

**/*[Uu]nit[Tt]ests.csproj
  • 发布项目路径(有效):
!**/*[Tt]ests.csproj
**/*.csproj
  • 打包项目路径(无效 – 过滤了单元测试项目,但未过滤集成测试项目):
!**/*[Tt]ests.csproj;**/*.csproj

解决方案

请注意以下操作注意版本差异及修改前做好备份。
根据用户提供的信息,我们可以尝试使用不同的路径来过滤测试项目。根据Azure Devops的文档,pack命令的文件路径属性描述与testpublish命令不同。因此,我们可以尝试使用以下路径来过滤测试项目:

-:**/*[Tt]ests.csproj;**/*.csproj

这个路径将排除所有以Tests.csproj结尾的文件,并包含所有.csproj文件。
请注意,这个解决方案可能无法解释为什么单元测试被排除而集成测试没有被排除。这可能是由于其他配置或设置导致的。如果问题仍然存在,建议检查其他配置和设置,以确保正确过滤测试项目。

正文完