我有一个xUnit单元测试,出现了nullReferenceException异常。
于是我决定进行调试。但是,在我试图调试之前,我的测试甚至在第一个断点之前就失败了。
我该如何解决这个问题?
我有一个xUnit单元测试,出现了nullReferenceException异常。
于是我决定进行调试。但是,在我试图调试之前,我的测试甚至在第一个断点之前就失败了。
我该如何解决这个问题?
CTRL-D,E
,打开调试|异常窗口。为了更快地完成,只需在Thrown
列中选中CLR Exceptions
旁的复选框。然后运行测试。希望能够在引起NullReferenceException
的源代码处暂停执行。我在Visual Studio 2017中遇到了类似的问题。单元测试项目是由框架自动添加的。我阅读了很多博客,但都无法解决我的问题。最终,我通过以下方法使其工作:
在解决方案级别上,右键单击 => 属性 => 将其设置为调试模式。
看起来你的测试方法之前出现了错误。我会检查构造函数。那里可能是测试初始化代码的问题。
你是否有使用 xUnit 等效于 MSTest 的 [ClassInitialize]
或 [TestInitialize]
属性的方法?如果其中一个方法抛出了 NullReferenceException,那可能就是为什么它没有触发断点的原因。
我不熟悉xUnit,但听起来你的测试类可能出现以下情况:
在init方法或构造函数中失败
无法从其DLL创建。
确保在静态类int之前将任何依赖的DLL和资源复制到测试执行目录中, 在调用类的构造函数之前。