从Azure DevOps(VSTS)中的测试计划中运行SpecFlow方案大纲

时间:2018-10-10 12:59:07

标签: azure-devops specflow

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

我遇到的一个问题是SpecFlow方案大纲表示Azure DevOps中的1个测试用例,但是我只能通过“关联到测试用例”将4个生成的Test Explorer测试中的1个链接到Azure DevOps。当我部署管道时,它仅运行关联的单个测试,而不运行“方案大纲”中的每个测试。如何获得它以运行“方案大纲”中的所有测试?

示例:

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

SpecFlow Scenario and Scenario Outline

1 个答案:

答案 0 :(得分:0)

您不能将一个以上的测试方法与一个测试用例相关联,但是您可以将一个测试方法与一个以上的测试用例相关联。有关详细信息,请参见Associate your test

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

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

  

SpecFlow +运行器

     

针对SpecFlow的更智能的集成测试运行器

     

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

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

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

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

    输入测试程序集

    的路径

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

    运行设置文件中输入您的.srprofile文件的名称 名称不是TFS.srprofiledefault.srprofile的字段(请参阅 以上)。

  4. 保存您的更改。

更多详细信息,请参阅本教程:SpecFlow+ And Build Servers