【问题标题】:How to run a single Specflow scenario in Resharper如何在 Resharper 中运行单个 Specflow 场景
【发布时间】:2012-02-27 18:40:12
【问题描述】:

我正在使用 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.....

我只想运行第一个场景。

【问题讨论】:

    标签: bdd specflow resharper-6.0


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 嗨,迈克尔,感谢您的回答。这是一个很好的解决方案,但似乎可以解决。我正在寻找的是一个插件或另一种方式来运行场景,就像他们进行单元测试一样。
        • 我对你的评论感到困惑。 SpecFlow 将每个场景变成一个单元测试。我的回答是解释如何运行单个单元测试,这正是一种情况。也许我不明白你在寻找什么......
        • 嗨迈克尔,你是对的,specflow 将每个场景转换为单元测试,你的建议有效。但是,我正在考虑一个解决方案,在编辑器中选择一个场景并运行它。例如,在编辑单元测试时使用 resharper,我们在侧面有一个绿点,以便执行它。根据您的建议,我必须搜索生成的单元测试,并且当我有很多场景时需要一些时间。也许我正在寻找一个尚未在 Resharper 中实现的选项。你知道我的意思吗?
        • 啊,现在我明白你的要求了。我以前也找过同样的东西,但无济于事。
        猜你喜欢
        • 1970-01-01
        • 2019-04-06
        • 2018-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-01
        • 2018-04-26
        相关资源
        最近更新 更多