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 安装有关,或者它可能是新的东西......这里只是关于这个问题和可能的解决方案的简短说明:
- 在 IDE/project 配置开始时,在 NuGet 管理器中检查或安装 SpecFlow 的包。
- 检查两次您将在项目中使用的确切内容 Xunit 或 Nunit 然后安装相关包 Xunit 或 Nunit。就我而言,我正在使用 Xunit 并安装它。
安装后,您将在参考资料中看到新项目
并弹出关于重新生成特征文件
之后生成步骤将可用
我将现有项目迁移到新 PC 时发生了这种情况。
原来我需要做的是:Visual Studio 2019 > Extensions > Manage Extensions > select 'Online' 在左侧导航 > 然后搜索 'Specflow' 在搜索框 > 然后下载并关闭 Visual Studio。然后它会自动安装。
最后重新打开 VS,应该可以了。
我按照入门说明进行操作,但上下文菜单中缺少 "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 安装有关,或者它可能是新的东西......这里只是关于这个问题和可能的解决方案的简短说明:
- 在 IDE/project 配置开始时,在 NuGet 管理器中检查或安装 SpecFlow 的包。
- 检查两次您将在项目中使用的确切内容 Xunit 或 Nunit 然后安装相关包 Xunit 或 Nunit。就我而言,我正在使用 Xunit 并安装它。
安装后,您将在参考资料中看到新项目
并弹出关于重新生成特征文件
之后生成步骤将可用
我将现有项目迁移到新 PC 时发生了这种情况。
原来我需要做的是:Visual Studio 2019 > Extensions > Manage Extensions > select 'Online' 在左侧导航 > 然后搜索 'Specflow' 在搜索框 > 然后下载并关闭 Visual Studio。然后它会自动安装。
最后重新打开 VS,应该可以了。