Visual studio SpecFlow和使用调试器进行测试

Visual studio SpecFlow和使用调试器进行测试,visual-studio,debugging,specflow,Visual Studio,Debugging,Specflow,我们刚刚决定在单元测试中使用SpecFlow,我创建了第一个场景 测试运行良好,除了其中一个测试,它在我的代码中调用了一个函数 很明显,该测试在该函数中发现了一个bug 我在测试调用的函数的第一行上放置了一个断点,右键单击Specs项目,并选择了运行调试器。 虽然函数中的断点从未被命中,但只有测试中的断点 所以我的问题是“如何让SpecFlow与调试器一起运行,这样我才能真正调试代码” 欢迎提出任何建议 谢谢我也遇到过这种行为。对我有效的方法是在场景中放置一个断点,并在步骤定义文件中放置一个断点

我们刚刚决定在单元测试中使用SpecFlow,我创建了第一个场景

测试运行良好,除了其中一个测试,它在我的代码中调用了一个函数

很明显,该测试在该函数中发现了一个bug

我在测试调用的函数的第一行上放置了一个断点,右键单击Specs项目,并选择了运行调试器。

虽然函数中的断点从未被命中,但只有测试中的断点

所以我的问题是“如何让SpecFlow与调试器一起运行,这样我才能真正调试代码”

欢迎提出任何建议


谢谢

我也遇到过这种行为。对我有效的方法是在场景中放置一个断点,并在步骤定义文件中放置一个断点。然后,当您选择“使用调试器运行”时,您将发现程序执行将在两个断点处停止。

如果您使用Resharper运行测试,则必须更改VS选项: 工具->选项->规范流->测试运行程序从自动到重新精简


此解决方案适用于Visual Studio(撰写此答案时为2019版):

  • 调试>选项>常规
  • 禁用“仅启用我的代码”

  • 我添加了一个App.Config文件,其中包含以下内容:但它没有帮助。我用的是VS 2008,我解决了这个问题。如果对代码所在的项目的引用不是从“添加引用”对话框的“项目”选项卡中选择的,而是使用“浏览”选项,则该选项不起作用。通过“项目”选项卡重新添加引用,一切正常。不确定这是我的情况(也许我指的是一个不好的参考资料)还是一般情况
    <generator allowDebugGeneratedFiles="true">