【问题标题】:Run only certain tests in Azure DevOps在 Azure DevOps 中仅运行某些测试
【发布时间】:2019-11-22 15:07:18
【问题描述】:

我继承了一个 ASP.Net(非 .Net Core)项目,其中包含大量测试都包含在一个 C# 测试项目中。我想在 Azure DevOps 上运行单元测试作为构建步骤,但我面临的问题是单元测试位于项目的子文件夹中,而其他文件夹中是我不希望运行的其他测试。

我的问题是,我可以将 task: VSTest@2 配置为仅在 Tests 项目的指定文件夹中运行测试吗?

提前致谢。

【问题讨论】:

  • 您是否可以控制传递给vstest.console 的参数?然后你可以使用它们来配置要运​​行的测试。
  • 我确实可以完全控制参数,但我不知道要使用哪些参数以及如何使用它们。
  • 你考虑过使用TestCategoryAttribute吗?参考文章visualstudiomagazine.com/blogs/tool-tracker/2018/07/…。

标签: c# unit-testing azure-devops mstest


【解决方案1】:

在您构建 yaml 文件(或通过 azure devops 界面)中,您可以设置:

testFiltercriteria:ClassName~MyTestClassName

您可以尝试查看通配符是否在其中起作用,以允许您说出 x 文件夹中的所有内容。此属性的文档非常少。

请参阅here 以获取可用于 VSTest@2 的完整属性集的列表。

有关可以应用的测试用例过滤器的文档,请参阅 here。

请参阅here 以获取其他命令行选项的列表(这不是必需的,但这是一个有用的资源。)

或者,testFiltercriteria 可用于指定FullyQualifiedName(名称包括命名空间)。通过这个过滤,你可以使用“~”来表示包含而不是等于,所以如果你的文件夹结构与你的命名空间结构大致匹配,那么这也可以。

【讨论】:

    【解决方案2】:

    您可以在 Azure DevOps 管道中的“Visual Studio 测试”的管道步骤中看到一个用于应用过滤器的输入框。

    【讨论】:

      猜你喜欢
      • 2023-02-26
      • 1970-01-01
      • 2019-10-28
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      相关资源
      最近更新 更多