无法在Visual Studio中调试单元测试

3

我有一个xUnit单元测试,出现了nullReferenceException异常。

于是我决定进行调试。但是,在我试图调试之前,我的测试甚至在第一个断点之前就失败了。

我该如何解决这个问题?

enter image description here


1
它实际上在哪里抛出了NullReferenceException? - Jaime
5个回答

4
在下次运行单元测试之前,按下CTRL-D,E,打开调试|异常窗口。为了更快地完成,只需在Thrown列中选中CLR Exceptions旁的复选框。然后运行测试。希望能够在引起NullReferenceException的源代码处暂停执行。

4

我在Visual Studio 2017中遇到了类似的问题。单元测试项目是由框架自动添加的。我阅读了很多博客,但都无法解决我的问题。最终,我通过以下方法使其工作:

在解决方案级别上,右键单击 => 属性 => 将其设置为调试模式。


1

看起来你的测试方法之前出现了错误。我会检查构造函数。那里可能是测试初始化代码的问题。


0

你是否有使用 xUnit 等效于 MSTest 的 [ClassInitialize][TestInitialize] 属性的方法?如果其中一个方法抛出了 NullReferenceException,那可能就是为什么它没有触发断点的原因。


在检查错误时(如果有使用该属性的方法),也请包括[AssemblyInitialize]。 - Gorgsenegger

0

我不熟悉xUnit,但听起来你的测试类可能出现以下情况:

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

  2. 无法从其DLL创建。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接