是否可以从功能文件运行测试场景?
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 的编辑器面板中加载了功能文件时,将无法再运行场景。
【讨论】:
好的,谢谢你的回答格雷格。然后我们将使用测试资源管理器中的正常方式。以上是关于是否可以从功能文件运行测试场景?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法以所需的顺序运行Specflow场景(C#Selenium)?