【问题标题】:Running SpecFlow Scenario Outlines from Test Plans in Azure DevOps (VSTS)从 Azure DevOps (VSTS) 中的测试计划运行 SpecFlow 方案大纲
【发布时间】:2019-03-15 09:38:48
【问题描述】:

我正在使用 SpecFlow 方案大纲根据 Azure DevOps 中的单个测试用例生成多个测试。然后我使用 azure devops 发布管道来部署测试并使用自动化测试计划运行它们。

我遇到的问题是 SpecFlow 场景大纲代表 Azure DevOps 中的 1 个测试用例,但我只能通过“与测试用例关联”到 Azure DevOps 将 4 个生成的测试资源管理器测试中的 1 个链接到测试用例。当我部署管道时,它只运行关联的单个测试,而不是场景大纲中的每个测试。如何让它运行 Scenario Outline 中的所有测试?

示例:

我只能右键单击 AddingUserInformationScenarioOutline("1",null) 并将该特定测试链接到 VSTS,我无法链接更高的分组 AddingUserInformationScenarioOutline(4)。运行测试计划将导致只运行测试 AddingUserInformationScenarioOutline("1",null)

【问题讨论】:

    标签: azure-devops specflow


    【解决方案1】:

    您不能将多个测试方法与一个测试用例相关联,但您可以将一个测试方法与多个测试用例相关联。详情请见Associate your test

    因此,在您的场景中,您可以创建多个测试用例并将每个测试方法与它们关联...

    另一种方法是配置您的构建过程以使用 SpecFlow+ Runner 执行测试:

    SpecFlow+ 跑步者

    为 SpecFlow 提供更智能的集成测试运行器

    SpecFlow+ Runner 是一个专用的测试执行引擎,提供更好的 报告、更快(并行)测试执行和更好的 VS/TFS 整合

    强烈建议使用 specflow+ runner 通过 TFS/Azure DevOps (VSTS) 运行 specflow 测试。

    配置您的构建过程以使用 SpecFlow+ Runner 执行测试:

    1. 打开 TFS/VSTS 并切换到您的构建定义。
    2. 单击添加构建步骤以将新步骤添加到构建定义中。 点击类别列表中的Test,然后点击旁边的Add “Visual Studio 测试”。
    3. 如下配置构建步骤:

      输入您的测试程序集的路径

      如果您同时使用 MSTest 和 SpecFlow+ Runner,请输入 自定义测试适配器路径中 NuGet 包文件夹的路径 场地。如果您没有在此处输入路径,则只有您的 MSTest 测试 将被执行,因为 TFS 找不到 SpecFlow+Runner 测试 适配器。

      运行设置文件中输入您的 .srprofile 文件的名称 如果名称不是 TFS.srprofiledefault.srprofile,则字段(请参阅 更多)。

    4. 保存您的更改。

    更多详情请参考本教程:SpecFlow+ And Build Servers

    【讨论】:

    • 感谢您的建议。我可能会使用在 Azure DevOps 中创建其他测试用例并将每个测试用例链接到生成的测试方法的解决方案。我的最终目标是能够通过 Azure DevOps 测试管理器管理运行哪些自动化测试以及使用什么配置,而不仅仅是每次都自动化运行,我认为该解决方案符合我的最终目标。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 2020-12-24
    • 2021-03-11
    • 2019-06-08
    相关资源
    最近更新 更多