specflow 生成上下文菜单中缺少的步骤定义

specflow generate step definitions missing from context menu

我按照入门说明进行操作,但上下文菜单中缺少 "generate step definitions"。

我尝试从 nuget 为 mstest 添加额外的 specflow 包,但仍然没有。

我遇到了同样的问题。我在 feature 文件的上下文菜单中寻找此选项,但此选项存在于 content 的上下文菜单中=]特征 文件。因此,请尝试在 Visual Studio 文本编辑器中打开特征文件 (*.feature) 并在文本编辑器 中单击鼠标右键 。文件示例:

Scenario: Add two numbers
    Given I have entered 50 into the calculator
    And I have entered 70 into the calculator
    When I press add
    Then the result should be 120 on the screen

假设您是通过右键单击 .feature 文件而不是其他任何地方来调出正确的上下文菜单,那么您可能会发现问题实际上是由 TechTalk.SpecFlow.dll 在您的项目中未被引用引起的.

要手动添加引用(NuGet 没有帮我做)右键单击项目的 References 文件夹并找到可能位于 '[project][=26] 中的 TechTalk.SpecFlow.dll =].X.X.X/lib/netXX/'(X 是版本号).

这是我没有正确参考时的上下文菜单:

这是我做的一次:

这是 SpecFlow.2.1.0 和 VS2010,这让我遇到了另一个不兼容的 .Net 版本问题,所以我最终使用了 SpecFlow.1.9.0。

尝试从 Nuget Packages 安装 SpecRun.SpecFlow,安装完成后,您将在上下文菜单中看到 "Generate Step Definitions"。

对我有用。

从扩展和更新安装 specflow,然后重新启动 visual studio,清理并重建解决方案

这是因为您可能没有在解决方案级别简单地安装 SpecFlow 扩展是不够的。

SpecRun.SpecFlow 是评估版,除非您准备好获得许可证密钥。

我将 NuGet 包 SpecFlow.xUnit 添加到我保存功能文件的解决方案中的单元测试项目。这解决了问题,我现在看到 Generate step definitions

这是通过在代码编辑器中右键单击您的功能文件并从弹出菜单中 select 生成步骤定义来实现的。然后会显示一个对话框。

我遇到了同样的问题。也许它与新的 IDE 安装有关,或者它可能是新的东西......这里只是关于这个问题和可能的解决方案的简短说明:

  1. 在 IDE/project 配置开始时,在 NuGet 管理器中检查或安装 SpecFlow 的包。
  2. 检查两次您将在项目中使用的确切内容 XunitNunit 然后安装相关包 Xunit Nunit。就我而言,我正在使用 Xunit 并安装它。
  3. 安装后,您将在参考资料中看到新项目

    并弹出关于重新生成特征文件

  4. 之后生成步骤将可用

我将现有项目迁移到新 PC 时发生了这种情况。

原来我需要做的是:Visual Studio 2019 > Extensions > Manage Extensions > select 'Online' 在左侧导航 > 然后搜索 'Specflow' 在搜索框 > 然后下载并关闭 Visual Studio。然后它会自动安装。

最后重新打开 VS,应该可以了。