单元测试中的调试已完全禁用?
Debugging in unit tests has completely been disabled?
我在此处放置了一个断点并尝试调试以下代码片段:
单击此处并选择调试后,我看到一个失败的测试:
我做错了什么?为什么我突然无法调试我的测试?
我引用了以下库:
using System;
using System.IO;
using System.Reflection;
using System.Text;
using MassTransit;
using MassTransit.Context;
using MassTransit.Serialization;
using NUnit.Framework;
我不知道这是否重要,但我有 ReSharper:
我也安装了 NUnit,虽然我确实在扩展中看到它并且我能够引用它,但我没有在我的菜单中看到它:
此外,如您所见,我可以设置断点:
为什么我不能调试我的单元测试?
您正在尝试在 ReSharper 中调试 NUnit 3 单元测试。只有最新版本的 ReSharper 支持 NUnit 3。为确保这不是运行器问题,请尝试使用您安装的 NUnit 3 测试适配器。
要使用 NUnit 3 测试适配器,请单击主菜单 Test → Windows → *Test Explorer。这将调出 Visual Studio 测试资源管理器 window。
在这里,您可以右键单击并调试测试。
如果您的测试在遇到断点之前失败了,很可能是因为它之前失败了,例如在测试设置或 OneTimeSetup 中。在测试资源管理器 window 中单击失败的测试,然后查看 window 的底部。您将看到失败和堆栈跟踪。您可以单击堆栈跟踪以准确定位到代码中失败的位置,并在那里放置一个断点。
I found the answer here.
我发现我没有在构建中输出调试信息。右键单击该项目,转到 'properties',然后 select 'build' 选项卡。在页面底部有一个 'Advanced...' 按钮,它将显示您对输出调试信息的设置。将其设置为 'full',错误应该消失。
我在此处放置了一个断点并尝试调试以下代码片段:
单击此处并选择调试后,我看到一个失败的测试:
我做错了什么?为什么我突然无法调试我的测试?
我引用了以下库:
using System;
using System.IO;
using System.Reflection;
using System.Text;
using MassTransit;
using MassTransit.Context;
using MassTransit.Serialization;
using NUnit.Framework;
我不知道这是否重要,但我有 ReSharper:
我也安装了 NUnit,虽然我确实在扩展中看到它并且我能够引用它,但我没有在我的菜单中看到它:
此外,如您所见,我可以设置断点:
为什么我不能调试我的单元测试?
您正在尝试在 ReSharper 中调试 NUnit 3 单元测试。只有最新版本的 ReSharper 支持 NUnit 3。为确保这不是运行器问题,请尝试使用您安装的 NUnit 3 测试适配器。
要使用 NUnit 3 测试适配器,请单击主菜单 Test → Windows → *Test Explorer。这将调出 Visual Studio 测试资源管理器 window。
在这里,您可以右键单击并调试测试。
如果您的测试在遇到断点之前失败了,很可能是因为它之前失败了,例如在测试设置或 OneTimeSetup 中。在测试资源管理器 window 中单击失败的测试,然后查看 window 的底部。您将看到失败和堆栈跟踪。您可以单击堆栈跟踪以准确定位到代码中失败的位置,并在那里放置一个断点。
I found the answer here.
我发现我没有在构建中输出调试信息。右键单击该项目,转到 'properties',然后 select 'build' 选项卡。在页面底部有一个 'Advanced...' 按钮,它将显示您对输出调试信息的设置。将其设置为 'full',错误应该消失。