blo*_*s4t 3 azure-devops azure-pipelines azure-pipelines-release-pipeline
我有一个分阶段发布管道,它部署到开发,然后部署到分阶段。
我希望我的集成测试项目仅在部署到暂存之前在发布管道期间运行。我怎么做?是否有特定的测试任务可以在分阶段部署之前挂钩?像部署前任务之类的?
为了在您的发布管道中运行集成测试。您应该在构建管道中发布的工件中包含您的测试项目或测试程序集 dll 文件。这样您的集成测试项目就可以被发布管道中的测试任务访问。
在工件中包含您的测试文件。您可以 在Build Pipeline 中添加第二个发布构建工件任务。指定要发布到测试文件位置的路径。下面的例子。
我添加了另一个发布构建工件任务来发布运行测试所需的所有测试文件。
然后我将Path to publish字段指定为包含所有测试文件的文件夹。
构建管道完成后。您将看到 Test 文件夹被添加到构建工件并发布到 azure devops 管道服务器。
现在,您可以通过在发布管道中添加 VsTest 任务或其他测试任务,在发布管道中运行测试。发布管道会将您的工件下载到文件夹$(System.DefaultWorkingDirectory)(例如 C:\agent_work\r1\a)。
对于上面的示例,您将在文件夹中找到测试文件,$(System.DefaultWorkingDirectory)\artifact_alias\Test并在$(System.DefaultWorkingDirectory)\artifact_alias\drop.
然后,您可以像@Kontekst 提到的那样,在部署阶段之前使用 vstest 任务创建一个新阶段,或者在部署任务之前将 vstest 任务添加到部署阶段的顶部。
在上面的屏幕截图中,我在 Azure 部署任务之前添加了 Vstest 任务,并将搜索文件夹指向测试文件所在的测试文件夹。
更新:
您可以在下面屏幕截图中显示的字段中找到工件别名。
主要思想是在构建管道中的工件中发布测试文件,然后在发布管道中添加测试任务以运行测试。
我想您正在使用 C# 单元测试。
在“部署到暂存”阶段之前添加新阶段“集成测试”。
添加安装 VSTest 平台的任务。它将缓存在代理文件夹中。
将适当的单元测试适配器 NuGet 包添加到您的测试项目中,以便 VSTest 平台能够在 dll 程序集中找到单元测试,例如,对于 NUnit 测试,它将是“NUnit 3 测试适配器”。
添加 VSTest 任务指定:
a) 测试文件 -> 例如“***IntegrationTests.dll”
b) 测试平台版本->“由工具安装程序安装”
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/test/vstest?view=azure-devops
VSTest 任务返回的所有测试结果都将与 Azure DevOps 服务集成。
| 归档时间: |
|
| 查看次数: |
6877 次 |
| 最近记录: |