如何使用 MSTest 从命令行运行 SpecFlow 场景?

2024-03-22

我有 Visual Studio 2010,并且我们有两个使用的 VS 解决方案。第一个是 Web 应用程序,第二个是严格用于 SpecFlow 测试。同时运行两个 Visual Studio 实例来运行 SpecFlow 功能会占用所有可用 RAM,导致运行速度变慢。

我在 Google 和 StackOverflow 上进行了一些搜索,并仔细阅读了有关 MSTest 命令行工具的 MS 文档,但我还没有找到答案。完整的 SpecFlow 测试套件大约需要 45 分钟才能完成,而且我实际上只需要运行几个场景。

我想知道是否有一种方法可以使用 MSTest 从命令行运行单个 SpecFlow 功能,甚至单个场景?


幕后的 Specflow 测试只是常规的 mstest 单元测试。因此,您应该能够使用以下内容以相同的方式运行它们:

运行特定场景:

mstest /testcontainer:tests.dll /test:GivenMyScenarioWhenIDoSomeStuff

要运行多个特定场景,您可以多次使用 /test 标志:

mstest /testcontainer:tests.dll /test:GivenMyScenarioWhenIDoSomeStuff /test:GivenMyScenarioWhenIDoSomemthingElse

运行功能

mstest /testcontainer:tests.dll /test:MyFeatureName

例如,如果您使用 @MyTag 在场景中添加标签,您还可以使用该选项

/category:MyTag to filter down the scenarios to run.

请查看功能文件背后生成的代码,以了解实际工作原理,如果您熟悉 mstest,那么它应该非常简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 MSTest 从命令行运行 SpecFlow 场景? 的相关文章

随机推荐