我有一个分阶段的发布管道,可以部署到Development,然后再部署到分阶段。
我希望只在部署到暂存之前在发布管道期间运行Integration项目。我该怎么做?在分阶段部署之前,是否有特定的测试任务可以挂接?比如部署前的任务什么的?
发布于 2020-01-01 06:11:52
为了在发布管道中运行集成测试。您应该将测试项目或测试程序集dll文件包含在生成管道中发布的工件中。这样,集成测试项目就可以被发布管道中的测试任务访问。
将您的测试文件包含在工件中。您可以在构建管道中添加第二个发布构建构件任务。指定路径将发布到测试文件的位置。下面的例子。
我添加了另一个发布构建工件任务,以发布运行测试所需的所有测试文件。

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

在构建管道完成后。您将看到Test文件夹被添加到构建工件中,并发布到azure管道服务器。

现在,您可以通过在发布管道中添加VsTest任务或其他测试任务,在发布管道中运行测试。发布管道将将您的工件下载到文件夹$(System.DefaultWorkingDirectory)(例如。C:\agent_work\r1\a)。
对于上面的例子,您将在文件夹$(System.DefaultWorkingDirectory)\artifact_alias\Test中找到测试文件,并在$(System.DefaultWorkingDirectory)\artifact_alias\drop中找到要部署的构件。
然后,您可以像@Kontekst所提到的那样,在部署阶段之前创建一个具有vstest任务的新阶段,或者在部署任务之前在部署阶段的顶部添加最困难的任务。

在上面的屏幕截图中,我在Azure部署任务之前添加了Vstest任务,并将搜索文件夹指向测试文件所在的Test文件夹。
更新:
您可以在下面的屏幕截图中找到工件--别名。

其主要思想是在构建管道中的工件中发布测试文件,然后在发布管道中添加测试任务以运行测试。
发布于 2019-12-30 21:51:56
我想您正在使用C#单元测试。
( a)测试文件->,例如"***IntegrationTests.dll“
b)“由工具安装程序安装”的测试平台版本->
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/test/vstest?view=azure-devops
VSTest任务返回的所有测试结果都将与Azure DevOps服务集成。
发布于 2022-01-27 06:53:13
我喜欢Levi Lu-MSFT和Kontekst的两个答案!
我的团队过去就是这样做的,它完成了任务。
然而,如果您想要更多的“爱好者”报告,如果像我一样,您正在寻找微软专门为集成测试或自动化测试提供的现成功能,那么Azure DevOps的测试计划功能可能就是您所要寻找的。
测试计划似乎确实满足了实际的web自动化测试,但您基本上可以运行任何可以安装在发布管道中的测试。
它与Visual测试管理器集成得很好。
下面是一些屏幕截图,以防链接在将来失败:












https://stackoverflow.com/questions/59533279
复制相似问题