上下文菜单中缺少 Specflow 生成步骤定义
Specflow Generate Step Definition is missing from the context menu
我右键单击我的特征文件,我应该可以看到生成步骤定义的选项。它不在上下文菜单中。
我进行了搜索,它说要为 nunit 安装 specrun。
我尝试通过管理 NuGet 包安装 SpecRun.Nunit。
我收到错误:
Severity Code Description Project File Line Suppression State
Error Unable to load the service index for source
http://packagesource.
An error occurred while sending the request.
The remote name could not be resolved: 'packagesource' 0
我安装了 Visual Studio Enterprise 2017。
我已经安装了 Selenium-webdriver,Specflow
请问如何解决这个问题,谢谢。
您需要从菜单项工具 -> "Extensions and Updates..."
安装 specflow nuget 包以及 Visual Studio 集成包
这是使该选项出现在 VS2019 的上下文菜单中所必须执行的操作。
- 我正常安装了 Specflow,从 Extensions-> Manage Extensions,
然后搜索 Visual Studio 2019 的 Specflow。
- 安装包并重新启动 VS。
- 然后我创建了一个新项目,一个 C# 测试。
- 初始设置准备就绪后,从
解决方案资源管理器我去了 "Add->New Item..." 并选择了“SpecFlow
特征文件”,我在我的特征文件中输入了我想要的信息。
- 在任何 Gherkin 行上,我右键单击以获取上下文
菜单并选择 "Go to Definition"。显示一个对话框,告诉我
没有匹配项,但我可以将这些行保存在剪贴板中。我
选择是。
- 然后再次在解决方案资源管理器上(如第 4 步),右键单击
"Add->New Item...",但现在选择了 "SpecFlow Step Definition"。这
步骤定义将用于计算器测试。
技巧来了:
- 删除所有步骤,将主要 class 留空。
像这样:
using System;
using TechTalk.SpecFlow;
namespace SpecflowFirst
{
[Binding]
public class SpecFlowFeature1Steps
{
}
}
- 然后将您从对话框中获得的片段粘贴到主窗口中
class
像这样:
using System;
using TechTalk.SpecFlow;
namespace SpecflowFirst
{
[Binding]
public class SpecFlowFeature1Steps
{
[Given(@"I navigated to the github login page")]
public void GivenINavigatedToTheGithubLoginPage()
{
ScenarioContext.Current.Pending();
}
}
}
这将触发编译错误。如果您指向 "ScenarioContext" 中的错误并执行 "Show potential fixes",其中一个修复方法是安装 "Sprecflow extension"。有了这个,您就可以安装其余的集成,它现在将在上下文菜单中显示该选项。
这解决了我的问题,现在我可以在上下文菜单中看到 "Generate Step Definitions"
我遵循了 Kyon 的出色演练,但这对我不起作用。即使 SpecFlow 已正确安装,它也无法识别以下库,或对“修复此问题”提出任何建议:
using TechTalk.Specflow
然后我注意到,对于 brand-new MsTest 项目和最新的 VS2019(截至 2020 年 10 月),您需要安装稍微更早 的版本SpecFlow(v2.1 与 v2.4 相比)。
因此,如果您在显示这个虚幻的“生成步骤定义”菜单项时也遇到问题,请检查您的 Dependencies\Packages 是否有感叹号。
我右键单击我的特征文件,我应该可以看到生成步骤定义的选项。它不在上下文菜单中。 我进行了搜索,它说要为 nunit 安装 specrun。 我尝试通过管理 NuGet 包安装 SpecRun.Nunit。
我收到错误:
Severity Code Description Project File Line Suppression State
Error Unable to load the service index for source
http://packagesource.
An error occurred while sending the request.
The remote name could not be resolved: 'packagesource' 0
我安装了 Visual Studio Enterprise 2017。 我已经安装了 Selenium-webdriver,Specflow
请问如何解决这个问题,谢谢。
您需要从菜单项工具 -> "Extensions and Updates..."
安装 specflow nuget 包以及 Visual Studio 集成包这是使该选项出现在 VS2019 的上下文菜单中所必须执行的操作。
- 我正常安装了 Specflow,从 Extensions-> Manage Extensions, 然后搜索 Visual Studio 2019 的 Specflow。
- 安装包并重新启动 VS。
- 然后我创建了一个新项目,一个 C# 测试。
- 初始设置准备就绪后,从 解决方案资源管理器我去了 "Add->New Item..." 并选择了“SpecFlow 特征文件”,我在我的特征文件中输入了我想要的信息。
- 在任何 Gherkin 行上,我右键单击以获取上下文 菜单并选择 "Go to Definition"。显示一个对话框,告诉我 没有匹配项,但我可以将这些行保存在剪贴板中。我 选择是。
- 然后再次在解决方案资源管理器上(如第 4 步),右键单击 "Add->New Item...",但现在选择了 "SpecFlow Step Definition"。这 步骤定义将用于计算器测试。
技巧来了:
- 删除所有步骤,将主要 class 留空。
像这样:
using System;
using TechTalk.SpecFlow;
namespace SpecflowFirst
{
[Binding]
public class SpecFlowFeature1Steps
{
}
}
- 然后将您从对话框中获得的片段粘贴到主窗口中 class
像这样:
using System;
using TechTalk.SpecFlow;
namespace SpecflowFirst
{
[Binding]
public class SpecFlowFeature1Steps
{
[Given(@"I navigated to the github login page")]
public void GivenINavigatedToTheGithubLoginPage()
{
ScenarioContext.Current.Pending();
}
}
}
这将触发编译错误。如果您指向 "ScenarioContext" 中的错误并执行 "Show potential fixes",其中一个修复方法是安装 "Sprecflow extension"。有了这个,您就可以安装其余的集成,它现在将在上下文菜单中显示该选项。
这解决了我的问题,现在我可以在上下文菜单中看到 "Generate Step Definitions"
我遵循了 Kyon 的出色演练,但这对我不起作用。即使 SpecFlow 已正确安装,它也无法识别以下库,或对“修复此问题”提出任何建议:
using TechTalk.Specflow
然后我注意到,对于 brand-new MsTest 项目和最新的 VS2019(截至 2020 年 10 月),您需要安装稍微更早 的版本SpecFlow(v2.1 与 v2.4 相比)。
因此,如果您在显示这个虚幻的“生成步骤定义”菜单项时也遇到问题,请检查您的 Dependencies\Packages 是否有感叹号。