我希望能够从 vstest.console.exe 命令行运行每个规范流功能,而不是运行该项目中的所有测试。我意识到有一个用于按类别过滤的命令行参数,但对我来说如何为 specflow 测试定义类别并不明显。有没有办法做到这一点,或者有没有其他方法可以完成通过命令行与 vstest.console 运行的分组规范流测试?
问问题
4859 次
1 回答
3
你想要标签。一旦您意识到 SpecFlow 实现了Gherkin Language,SpecFlow 就会变得更容易理解。
从标签文档:
标签是组织功能和场景的好方法。... 场景或功能可以有任意数量的标签。只需将它们用空格隔开......功能上存在的任何标签都将被场景、场景大纲或示例继承。
一个简单的例子:
@posts
Feature: Blog Posts
@comments
Scenario: Adding a comment
...
@comments
Scenario: Deleting a comment
...
Scenario 声明上方的@foo
语法创建了可以使用 MS Test 运行的类别。
之后,您可以使用 Visual Studio 中的“测试视图”窗格按类别过滤所有测试,或从 Visual Studio 命令行运行它们:
mstest /testcontainer:Blog.Tests.dll /category:comments
实际上,不久前我有一个类似(但不重复)的问题:如何使用 MSTest 从命令行运行 SpecFlow 场景?. 这可能是一个很好的阅读。
于 2014-09-30T12:30:59.093 回答