C# SpecFlow:“;步骤绑定仍在分析中。请稍等;

C# SpecFlow:“;步骤绑定仍在分析中。请稍等;,c#,visual-studio,bdd,specflow,C#,Visual Studio,Bdd,Specflow,每当我右键单击场景并“生成步骤定义”或“转到步骤定义”时,都会收到相同的消息 我第一次试的时候它就起作用了,但后来就没有了 我已经提交了一份错误报告,但与此同时,有人知道如何解决这个问题吗?我以前遇到过这个问题,我们的一个项目中有大约800个SF测试,当我们首次加载时,有时可能需要相当长的时间才能加载。对我来说,它总是最终自行解决 另一个尝试是升级到几天前发布的1.9版本,它可能会提高性能。虽然我使用的是最后一个版本(1.9.2),但我也遇到了同样的问题。重新打开VS2010解决了这个问题。我找

每当我右键单击场景并“生成步骤定义”或“转到步骤定义”时,都会收到相同的消息

我第一次试的时候它就起作用了,但后来就没有了


我已经提交了一份错误报告,但与此同时,有人知道如何解决这个问题吗?

我以前遇到过这个问题,我们的一个项目中有大约800个SF测试,当我们首次加载时,有时可能需要相当长的时间才能加载。对我来说,它总是最终自行解决


另一个尝试是升级到几天前发布的1.9版本,它可能会提高性能。

虽然我使用的是最后一个版本(1.9.2),但我也遇到了同样的问题。重新打开VS2010解决了这个问题。

我找到了解决这个问题的方法;关闭解决方案并删除.SOU文件。重新打开解决方案,然后重新创建此文件,SpecFlow上下文菜单选项随后生效。

五年后,我遇到了同样的问题。。。以下是对我有效的解决方案:

  • 在Visual Studio中关闭解决方案
  • 转到Windows资源管理器中的临时目录(在位置栏中输入%temp%)
  • 删除“specflow blah blah.cache”文件
  • 在VisualStudio中重新加载解决方案,重新生成解决方案,并给SpecFlow一点时间进行自我整理

  • 当我将外部程序集从app.config移动到specflow.json文件时,也遇到了同样的问题

    1) 结果是我得到了一个程序集引用,它甚至没有specflow Nuget

    2) 我重命名了一个程序集,但由于某些原因,AssemblyInfo.cs文件中没有替换旧名称。我手动更改了它,清理了项目。清理了specflow缓存(请参阅前面的答案如何执行此操作),它正常工作

    因此,请检查所有引用和程序集名称是否正确

    干杯


    注意:如果您仍然无法强制绑定步骤,但只需要获得给定步骤的定义,请不要忘记为specflow.json:D设置“复制到输出目录”选项:

  • 在场景的第一步上放置断点
  • 调试测试
  • 进入该功能(默认情况下为F11)
  • 给你!VS导航可能无法工作,但调试器知道方法:)

  • 我知道这可能不是解决原始问题的直接方法,步骤没有绑定,但我认为它达到了OP想要达到的目的…

    这个问题的根本原因是您的代码性能差,导致Visual Studio运行缓慢和挂起,或者由于Visual Studio在无响应状态下移动的代码性能低

    解决方案是提高代码的性能。您需要以所有可能的方式优化代码:

  • 在每个步骤中使用较少的输入
  • 在参数化方法中使用较少的参数
  • 避免不必要的循环
  • 如果选取的参数超过5个,则将数量参数划分为多个方法。这将提高性能
  • 将输入值分成多个子步骤或单独步骤,这将提高代码的性能和速度
  • 如果有更多情况,请使用switch case而不是if-else语句
  • 如果引用变量或对象不再使用,请释放占用的内存
  • 从外部源读取数据,并将其本地存储到对象或列表中,使其一次从外部源读取一次,并访问本地复制到列表或任何其他对象/变量中的值
  • 关闭或关闭外部文件,或在使用后调用它们

  • 希望这是提高代码性能的最佳方法,此问题肯定不会发生,您的步骤绑定和定义将更加平滑和简单。

    步骤将自动生成,“所以我不确定你是从哪里来的。@AdamHouldsworth这个问题通常会在右键单击“转到步骤定义”时出现。如果您还没有得到一个虚拟步骤,这也会生成一个虚拟步骤。我想这就是OPmeans@AdamHouldsworth我试着让我正在做的事情变得有趣一些。这是我在项目中的第一个特性,所以它肯定不会花这么长时间。另外,我使用的是VS2010,SpecFlow 1.9.0,SpecFlow.NUnit 1.1.1。哦,好的,在这种情况下,它应该是即时的。似乎有一些人有问题,Gaspar通常对事情反应很快,所以我想看看他说了什么。感谢您的回答,但这肯定不是应用程序的问题,即使是一个简单的项目和一个琐碎的场景和步骤定义,问题也会发生。