首页 > 解决方案 > Azure Devops:如何在发布管道期间添加自动化集成测试

问题描述

我有一个分阶段发布管道,该管道部署到 Development,然后部署到 Staging。

我希望我的集成测试项目仅在部署到登台之前在发布管道期间运行。我怎么做?是否有特定的测试任务可以在暂存部署之前挂钩?像预部署任务之类的?

标签: azure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


为了在您的发布管道中运行集成测试。您应该在构建管道中发布的工件中包含您的测试项目或测试程序集 dll 文件。以便发布管道中的测试任务可以访问您的集成测试项目。

将您的测试文件包含在工件中。您可以在Build Pipeline中添加第二个发布构建工件 任务。指定要发布到测试文件位置的路径。前面的例子。

我添加了另一个发布构建工件任务来发布运行测试所需的所有测试文件。

在此处输入图像描述

然后我将“发布路径”字段指定到包含所有测试文件的文件夹。

在此处输入图像描述

构建管道完成后。您将看到 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 任务,并将Search 文件夹指向测试文件所在的 Test 文件夹。

更新:

您可以在下面屏幕截图所示的字段中找到 artifacts-alias。

在此处输入图像描述

主要思想是在构建管道中发布工件中的测试文件,然后在发布管道中添加测试任务以运行测试。


推荐阅读