【问题标题】:How to run my tests using the built DLL in an Azure DevOps Release pipeline?如何使用 Azure DevOps 发布管道中的内置 DLL 运行我的测试?
【发布时间】:2025-12-21 12:55:16
【问题描述】:

我有一个已经运行了很长时间的 Azure DevOps build 管道。

我是这样设置的:

管道包含还原、构建、测试和 NuGet 打包和发布步骤。

从屏幕截图中可以看出,集成测试已被停用,因为它们需要一些时间才能完成。因此,我想将集成测试的执行与 NuGet 发布步骤一起移至 发布 管道。

我看不出如何在这样的管道中运行这些集成测试。我认为调用dotnet test 会起作用,但它不起作用:该命令需要.csproj 文件,而不是构建的DLL。而且,在这个阶段,发布管道必须在构建管道提供的工件中工作。

按照 cmets 中的建议,我看到可以使用 dotnet vstest,但该选项在 devops 上不可用:

问题

如何在 Azure DevOps 发布管道中运行我的集成测试?

【问题讨论】:

  • 我认为您需要使用dotnet vstest 而不是docs.microsoft.com/en-us/dotnet/core/tools/… 它接受要从中运行测试的DLL 列表。如果使用 xunit 之类的东西,我相信您需要测试项目引用关联的 vstest 运行器。
  • @Kzrystof 我忘了提一件事,您可以添加 发布构建工件** 以发布构建 dll 文件以发布管道,您可以在其中使用 **Visual Studio 测试运行测试 任务。我更新了我的答案。希望对您有所帮助。
  • @LeviLu-MSFT 我会试试这个并将答案标记为已接受。
  • @Kzrystof 太好了。谢谢!

标签: c# .net azure azure-devops azure-pipelines-release-pipeline


【解决方案1】:

为了测试发布管道中的 test.dll 文件,您可以在 dotnet 构建任务之后添加一个发布构建工件任务。然后,您可以使用 Visual Studio 测试 任务在发布管道中测试您的测试 dll。

要运行自定义 dotnet 命令,您可以在选项自定义命令

中指定要运行的命令

建议:

但是还有另一个测试任务(Visual Studio Test)可以运行.dll。

【讨论】:

  • 你能删除损坏的图像并在它们的位置放一些解释吗?无论如何,这确实帮助我让它工作。在构建管道中发布工件,在发布管道中下载工件。请注意,Publish artifacts 不允许在其路径中使用通配符。在简单地检查构建输出中的精确路径并将其粘贴之前,我挣扎了一段时间。
最近更新 更多