运行 仅在 Azure DevOps 中进行某些测试

Run only certain tests in Azure DevOps

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

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

提前致谢。

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

testFiltercriteria:ClassName~MyTestClassName

您可以尝试查看通配符是否适用于此,以允许您说出 x 文件夹中的所有内容。此 属性 的文档非常稀疏。

有关 VSTest@2 可用的完整属性集的列表,请参阅 here

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

有关其他命令行选项的列表,请参阅 here(不需要,但很有用。)

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

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