【问题标题】:Not able to debug unit tests in visual studio无法在 Visual Studio 中调试单元测试
【发布时间】:2011-06-02 23:22:01
【问题描述】:

我有以下抛出 nullReferenceException 的 xUnit 单元测试。

所以我决定调试。但是,当我调试时,我的测试甚至在它到达第一个断点之前就失败了。

我该如何解决这个问题?

【问题讨论】:

  • 它实际上在哪里抛出 NullReferenceException?

标签: c# .net unit-testing tdd xunit.net


【解决方案1】:

在下次运行单元测试之前,点击CTRL-D, E 以调出Debug |例外窗口。为了更快,只需在Thrown 列中的CLR Exceptions 旁边打勾。现在运行。希望执行将在您的NullReferenceException 的来源处中断。

【讨论】:

    【解决方案2】:

    我在 Visual Studio 2017 中遇到了类似的问题。单元测试项目是由框架自动添加的。我阅读了很多博客,但没有什么能解决我的问题。 最后我使用以下方法让它工作: 在解决方案级别,右键单击 => 属性=> 将它们设置为调试模式。

    【讨论】:

      【解决方案3】:

      似乎您在测试方法之前发生了错误。我会检查构造函数。可能是那里的测试初始化​​代码。

      【讨论】:

        【解决方案4】:

        您是否有与 MSTest 的 [ClassInitialize][TestInitialize] 属性的 xUnit 等效项的方法?如果其中之一抛出你的 NullReferenceException,那可能就是它没有达到你的断点的原因。

        【讨论】:

        • 在检查错误时还包括 [AssemblyInitialize](如果有具有该属性的方法)。
        【解决方案5】:

        我不熟悉 xUnit,但它听起来也像你的测试类:

        1. init 方法或构造函数失败

        2. 无法从其 DLL 创建。

        确保你复制了任何依赖的 DLL 和资源来测试静态类 int 上的执行目录, 在类的构造函数之前调用。

        【讨论】:

          猜你喜欢
          • 2014-04-26
          • 2020-06-09
          • 1970-01-01
          • 2016-10-30
          • 1970-01-01
          • 2022-06-16
          • 2017-08-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多