如何使用NUnit调试VS2010中的Specflow场景?

时间:2012-02-16 07:18:21

标签: bdd specflow

我在VS2010上安装了NUnit 2.5.10和Specflow 1.8.1。

右键单击VS中的.feature文件,上下文菜单中有一个“Debug Specflow Scenarios”项。但我总是得到“找不到匹配的测试跑步者”。在Tools / Options / Specflow中,NUnit没有测试运行器选项。

我错过了什么吗?

提前致谢。 :)

4 个答案:

答案 0 :(得分:0)

我不知道NUnit是否有一个单独的GUI用于运行测试,因为我使用的是MSTests,但这应该是你怎么做的。

  1. 在Test Project中设置一个配置文件,告诉Specflow要使用哪个Test框架。 https://github.com/techtalk/SpecFlow/wiki/Configuration
  2. 工具>选项> Specflow> Test Runner工具是执行测试的工具。这里没有任何东西显示的事实似乎没有安装测试运行器。例如,我有几个,MSTest,Resharper,SpecRun,我通常把它留在Auto上,只是从我想要使用的测试工具运行测试。我运行安装程序虽然应该添加任何VS扩展
  3. 您可以尝试使用VS runner,Test> Windows>测试视图

    VS只会将Specflow测试视为NUnit,因为后面生成的代码只是一个NUnit测试(以这种方式配置)。所以我认为真正的问题是如何在Visual Studio中调试NUnit测试。快速搜索建议将调试器附加到NUnit测试运行器进程。

答案 1 :(得分:0)

像Ryan一样,我也没有专门针对Nunit的测试跑者。然而,因为我还在运行resharper,所以我得到了额外的resharper跑步者,这就是Auto使用它来运行它。

您的计算机上是否安装了nUnit?在这种情况下,您可以测试该过程在没有VS和Specflow-addin的情况下取得成功的程度。如果没有,安装良好可能会为您提供所需的跑步者。

或者,我使用nCrunch自动运行我的所有测试。我已经让它在过去的几个月中运行nunit / specflow多个解决方案,没有任何问题。根本不需要右键单击。 : - )

答案 2 :(得分:0)

SpecFlow本身不提供测试运行器,如果要右键单击.feature并运行它,则必须重新配置SpecFlow以使用MSTest,它应使用内置的VS runner。

如果您想使用NUnit,则需要其他工具。我会推荐Resharper,但它不是免费的。查看此article以获取从VS运行NUnit测试的更多选项。

答案 3 :(得分:0)

美好的一天。要调试我执行以下操作:

  1. 在您感兴趣的场景线上设置一个断点
  2. 确保您正在运行NUnit
  3. 附加NUnit进程
    • 转到工具
    • 选择附加流程
    • 在可用进程中选择NUnit agent.exe
    • 点击附件
  4. 在NUnit中运行要调试的测试
  5. 希望有所帮助