我的网站在 SpecFlow 中有很多测试用例。该网站中有不同的向导,我为与每个向导相关的测试用例创建了一个标签,因为更改一个向导的代码中的某些内容不应影响其他向导。我希望在我的 Azure 管道中有一个选项,当我运行它时,我可以根据标签选择要在 T 中运行哪些测试。有谁知道该怎么做吗?
谢谢您和亲切的问候, 卡斯帕
您可以按照以下步骤配置您的项目:
在解决方案的代码中,确保已为测试项目安装 SpecFlow+ Runner NuGet Package。该软件包包含所有必需的集成组件。
在测试项目中,使用SpecFlow+ Runner作为单元测试提供者。
在您的测试项目的feature文件中,针对不同的场景设置不同的标签。
在 Azure 管道中运行测试时:
如果您使用 Visual Studio 测试任务 (
VSTest@3
),您可以使用选项“testFiltercriteria
”(测试过滤条件)来指定标签。
- task: VSTest@3
displayName: 'VsTest - testAssemblies'
inputs:
testFiltercriteria: 'TestCategory=tag01 & TestCategory=tag02'
如果您使用 .NET Core 任务 (
DotNetCoreCLI@2
),则可以使用选项“arguments
”(Arguments) 来指定具有特定标签的过滤器表达式。
- task: DotNetCoreCLI@2
displayName: 'dotnet test'
inputs:
command: test
projects: 'path/to/test-project.csproj'
arguments: '--filter "Category=tag01 & Category=tag02"'
相关文档: