【问题标题】:SpecFlow and Testing with the DebuggerSpecFlow 和使用调试器进行测试
【发布时间】:2021-02-20 05:06:57
【问题描述】:

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

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

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

我在测试调用的函数的第一行放了一个断点,然后右键单击 Specs 项目并选择 Run With Debugger。

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

所以我的问题是“如何让 SpecFlow 使用调试器运行,以便我可以真正调试我的代码”

欢迎提出建议

谢谢

【问题讨论】:

  • 我添加了一个 App.Config 文件,内容如下:
    但它没有帮助.我正在使用 VS 2008
  • 我发现了这个问题。如果有任何机会,对代码所在项目的引用不是从“添加引用”对话框的“项目”选项卡中选择的,而是使用“浏览”选项,那么它不起作用。通过“项目”选项卡重新添加了引用,一切都很好。不知道这只是我的情况(也许我指的是错误的参考)还是一般情况

标签: visual-studio debugging specflow


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果您使用 Resharper 运行测试,则必须更改 VS 选项: 工具 -> 选项 -> Specflow -> 从 Auto 到 ReSharper 的测试运行器

    【讨论】:

      【解决方案3】:

      https://github.com/techtalk/SpecFlow/wiki/Debugging-Tests

      <generator allowDebugGeneratedFiles="true">
      

      【讨论】:

        【解决方案4】:

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

        1. 调试 > 选项 > 常规
        2. 禁用“仅启用我的代码”。

        【讨论】:

          猜你喜欢
          • 2016-02-11
          • 1970-01-01
          • 1970-01-01
          • 2021-12-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-19
          • 2012-10-12
          相关资源
          最近更新 更多