在 azure DevOps 中,我有一个包含 2 个 .NET 项目的组织:“MyProject”和“MyProject.Tests”。这两个项目属于同一个解决方案。我正在构建管道,YAML 文件位于“MyProject”中。 此 YAML 文件中的以下代码片段应该构建“MyProject”,然后从“MyProject.Tests”运行测试
jobs:
- job: Build and Test
displayName: Build and Test
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: '**/MyProject.csproj'
- task: DotNetCoreCLI@2
inputs:
command: 'test'
projects: '**/MyProject.Tests.csproj'
构建任务(带有构建命令的 DotNetCoreCLI@2)对于“MyProject.csproj”工作正常,但测试任务(带有测试命令的 DotNetCoreCLI@2)无法找到“MyProject.Tests.csproj”(我知道 '** /MyProject.Tests.csproj' 是不正确的路径)。在构建“MyProject.csproj”后,如何修改 YAML 文件以正确引用和运行“MyProject.Tests.csproj”中的单元测试?
其他详细信息:
在 Azure DevOps Pipeline 中,所有项目文件都将检出到源文件夹:默认情况下
$(Build.sourcesdirectory)
。
为了确保能够正确找到MyProject.Tests.csproj,您可以将以下路径设置为dotnet测试任务。
projects: '$(build.sourcesdirectory)/**/MyProject.Tests.csproj'
例如:
jobs:
- job: Build and Test
displayName: Build and Test
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: '**/MyProject.csproj'
- task: DotNetCoreCLI@2
inputs:
command: 'test'
projects: '$(build.sourcesdirectory)/**/MyProject.Tests.csproj'
它将遍历源文件夹中的所有文件以查找匹配的文件。