是否可以从功能文件运行测试场景?

Posted

技术标签:

【中文标题】是否可以从功能文件运行测试场景?【英文标题】:Is it possible to run a test scenario from a Feature file? 【发布时间】:2022-01-09 15:01:12 【问题描述】:

是否可以从功能文件运行测试?我有 350 个测试场景,如果我每次都需要搜索它们,这需要很长时间。我可以在功能文件中进行测试吗?

【问题讨论】:

您拥有哪个版本的 Visual Studio?安装了哪个版本的 Visual Studio SpecFlow 扩展? 你应该可以。您还应该在测试资源管理器中看到测试,并且可以在那里运行单个场景。 @GregBurghardt 感谢您的提问。我使用 VS 2019:16.11.7 @Fran 我也可以使用测试爆炸器,但是当您有 300 个测试用例时,在您的测试爆炸器中搜索需要时间。这就是为什么我问是否可以从 .feature 文件运行测试 Visual Studio 2010 的 SpecFlow 扩展用于让您准确地做到这一点。这在 VS 2013 中被破坏,然后从扩展中删除。它与 Microsoft 更改测试资源管理器有关,这使得在 Visual Studio 中无法通过 .feature 文件进行此类操作。 2018 年的一个类似问题没有被接受的答案:How can I run scenario of single Feature file in specflow。 【参考方案1】:

从功能文件运行场景不再可用,也不能使用当前的 Visual Studio API(自 VS 2019 起)。

SpecFlow 项目的 GitHub 问题 #1235 (Run & debug scenarios from the feature file context menu VS 2017) 描述了一个错误,即允许您从某个功能运行场景的上下文菜单项在 Visual Studio 2017 中不再起作用。在评论链的下方,它看起来像这一直是一个挑剔的功能:

这个特性总是有问题,因为它使用丑陋的 hack 来让不同的测试运行器来执行场景。 上次检查时,它总是执行feature文件的所有场景。

来源:https://github.com/SpecFlowOSS/SpecFlow/issues/1235#issuecomment-414230242

更进一步,另一条评论描述了支持此功能所需的一些 API 已从 Visual Studio 中删除:

对于 VS2019,我们必须删除此功能。我们使用的 API 已在 VS2019 (microsoft/vstest#1830) 中移除。

来源:https://github.com/SpecFlowOSS/SpecFlow/issues/1235#issuecomment-476268630

因此,当您在 Visual Studio 的编辑器面板中加载了功能文件时,将无法再运行场景。

【讨论】:

好的,谢谢你的回答格雷格。然后我们将使用测试资源管理器中的正常方式。

以上是关于是否可以从功能文件运行测试场景?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Cucumber 测试套件中订购功能文件?

有没有办法以所需的顺序运行Specflow场景(C#Selenium)?

是否有一个插件或工具可用于在没有测试用例的情况下从正在运行的应用程序生成覆盖?

有没有办法从jenkins向机器人测试用例发送参数/值?

测试类型

是否可以从在 Wine 中运行的 Windows 应用程序调用本机 Linux API?