【问题标题】:SpecFlow: Associated Automation not showing Tests in Visual Studio 2017SpecFlow:关联自动化未在 Visual Studio 2017 中显示测试
【发布时间】:2019-10-25 09:18:10
【问题描述】:

我们在 VSTS 2017 中使用 SpecFlow、Selenium WebDriver[C#]。在测试资源管理器中,关联测试选项被禁用,因此无法与测试用例进行自动化关联。在测试用例的自动化关联选项卡中,选择测试窗口没有显示我在测试资源管理器中存在的任何测试。

BDD 框架:SpecFlow 2, VSTS 2017 工具, 单元测试提供者:SpecRun, 项目类型:测试项目, Visual Studio 默认架构:X64, 注意:我们使用 Azure DevOps,仅用于自动化关联我们使用 VSTS。

【问题讨论】:

  • 您可能需要升级到 SpecFlow 3?
  • Azure DevOps 也可能不支持 SpecRun 的文本发现。
  • 嗨 Anusha,您有机会实施 Etienne 建议的解决方案吗?你能解决吗?如果他的回答有帮助或给出了正确的方向。感谢marking it as an answer,这也将帮助社区中的其他人。
  • 我开发的一个工具,SpecSync 通过自动创建、更新和链接测试用例来自动化这个过程。 specsolutions.eu/services/specsync
  • 您好,抱歉回复延迟。升级到 SpecFlow 3 对我们来说有很多依赖项,所以我没有尝试升级我们当前解决方案的 Specflow3。但是,我已经通过使用 Specflow3 创建新项目来完成 POC,但是.. 我仍然没有找到启用 SpeRun 测试自动化关联的选项。我最近安装了 VSTS 2019 的更新,发布了 Associate Button 为 Enable 并单击它,说不支持 SpecRun 测试关联,它仅支持 NUnit、XUnit 和 MSTest 框架。

标签: tfs azure-devops automated-tests specflow


【解决方案1】:

您应该能够像这样从测试资源管理器向测试用例添加关联

右键单击要关联的测试,然后单击关联以测试用例。我已经检查过了,它适用于 VS 2017 和 2019。

【讨论】:

  • 点击“关联到测试用例”选项后,收到错误消息“无法关联执行程序发现的测试://specrun/executorv3.0.377。关联仅支持以下测试类型 - MSTEST、Xunit , 有序和通用测试。”
  • 你在使用 NUnit 和 Specflow 吗?看起来它只支持 MSTEST 或 Xunit 类型的测试。您几乎可以将装饰器修改为 MSTests 并添加一些使用,它应该可以正常工作。我自己总是使用 MSTest。从不打扰其他框架。
  • 我们使用 SpecRun 作为带有 SpecFlow 的单元测试提供程序。我们有并行线程执行和多浏览器定位等要求。我尝试过 POC 将现有测试迁移到 MSTEST 框架,但多线程模型不起作用。我们使用 3 个线程来运行自动化,如果这不能在 MSTest 中进行,那么测试执行时间将是三倍,这对我们来说不太可能。另一件事是,当我们从命令提示符运行测试时,MSTEST 会在 .trx 文件中生成报告。其中 SpecRun 生成易于理解和简单的 html 报告。
  • 明白。如果您想要与 Azure DevOps 测试用例集成,您需要从您提到的列表中运行测试。 MSTEST、Xunit、有序和通用测试。您始终可以在管道中运行 specflow 测试并使用发布测试结果任务上传结果,但您不会从 specrun 获得好的报告。或者您可以使用 specflow+ 任务:marketplace.visualstudio.com/…,它也会在构建中生成漂亮的报告。
  • 你也可以试试 specflow 报告生成器任务:marketplace.visualstudio.com/…
猜你喜欢
  • 1970-01-01
  • 2016-12-21
  • 2020-03-17
  • 2017-10-15
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-02
相关资源
最近更新 更多