如何使用 SpecFlow 在 azure 管道中仅运行标记的场景

问题描述 投票:0回答:1

我的网站在 SpecFlow 中有很多测试用例。该网站中有不同的向导,我为与每个向导相关的测试用例创建了一个标签,因为更改一个向导的代码中的某些内容不应影响其他向导。我希望在我的 Azure 管道中有一个选项,当我运行它时,我可以根据标签选择要在 T 中运行哪些测试。有谁知道该怎么做吗?

谢谢您和亲切的问候, 卡斯帕

continuous-integration azure-pipelines specflow continuous-delivery
1个回答
0
投票

您可以按照以下步骤配置您的项目:

  1. 在解决方案的代码中,确保已为测试项目安装 SpecFlow+ Runner NuGet Package。该软件包包含所有必需的集成组件。

  2. 在测试项目中,使用SpecFlow+ Runner作为单元测试提供者。

  3. 在您的测试项目的feature文件中,针对不同的场景设置不同的标签。

  4. 在 Azure 管道中运行测试时:

    • 如果您使用 Visual Studio 测试任务 (

      VSTest@3
      ),您可以使用选项“
      testFiltercriteria
      ”(测试过滤条件)来指定标签。

      - task: VSTest@3
        displayName: 'VsTest - testAssemblies'
        inputs:
          testFiltercriteria: 'TestCategory=tag01 & TestCategory=tag02'
      

      enter image description here

    • 如果您使用 .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"'
      

      enter image description here

相关文档:


© www.soinside.com 2019 - 2024. All rights reserved.