2

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

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

例子:

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

SpecFlow 场景和场景大纲

4

1 回答 1

2

您不能将多个测试方法与一个测试用例相关联,但您可以将一个测试方法与多个测试用例相关联。有关详细信息,请参阅关联您的测试

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

另一种方法是配置您的构建过程以使用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+ 和构建服务器

于 2018-10-15T02:34:11.553 回答