10

我正在使用 Specflow (http://specflow.org/) 编写一些集成测试,并且我想运行一个场景。有没有办法使用 Resharper 6 运行单个场景?顺便说一句,我将 specflow 配置为使用 MSTest。

我的 Specflow 测试如下所示:

Feature: Customer management

Scenario: Add a new Customer into system
    Given the User has entered the customer with the following data
    | name  | last_name | birthday   |
    | Peter | Stein     | 12.09.1955 |
    When the User has pressed the Save Button
    Then the following customer should be stored in the data base
    | name  | last_name | birthday   |
    | Peter | Steim    | 12.09.1955 |

Scenario: Second scenario.....

Scenario: Third scenario.....

我只想运行第一个场景。

4

3 回答 3

10

如果您像我一样使用 ReSharper 运行,我只需打开功能文件,右键单击场景中的任意位置,然后从弹出菜单中选择“运行 Specflow 场景”。它只运行您所处的一个场景。

请注意,我正在使用 ReSharper 运行测试。

于 2012-03-04T22:00:55.703 回答
1

我所做的是弹出打开生成的 c# 文件并在那里找到生成的测试并使用我为 resharper 测试运行器设置的键盘快捷键来执行规范(并且也可以使用鼠标使用绿色/黄色球)。它不太理想,我同意如果你可以从功能文件中执行它会很棒。我还没有找到类似的东西。尝试找出一种通过插件实现这一目标的方法将是一个有价值的项目。不知道那会采取什么措施。

于 2012-03-02T13:08:37.380 回答
0

每个场景最终都应该成为一个 MSTest。在 ReSharper 中,我通常会进入单元测试资源管理器 (Control+Alt+U),确保Group by设置为Projects and Namespaces,然后向下导航到我的验收测试项目,为我的功能打开命名空间(我分组目录中的功能文件,以将它们放在匹配的名称空间中),并展开功能以查看所有单独的测试/场景。只选择其中一项并单击“运行”或“调试”按钮应该会执行该一项测试。

于 2012-02-27T22:44:44.037 回答