我有以下xUnit单元测试引发nullReferenceException。无法在Visual Studio中调试单元测试
所以我决定调试。但是,当我调试我的测试失败之前,即使它击中第一个中断点。
我该如何解决这个问题?
我有以下xUnit单元测试引发nullReferenceException。无法在Visual Studio中调试单元测试
所以我决定调试。但是,当我调试我的测试失败之前,即使它击中第一个中断点。
我该如何解决这个问题?
在运行单元测试,下一次,打CTRL-D, E
弹出调试|例外窗口。为了加快速度,只需在Thrown
列中的CLR Exceptions
旁边勾选即可。现在运行。希望执行将在您的NullReferenceException
的源头中断。
您是否拥有xUnit等价的MSTest的[ClassInitialize]
或[TestInitialize]
属性的方法?如果其中一个抛出了你的NullReferenceException,那可能是它没有触及你的断点的原因。
检查错误时还包括[AssemblyInitialize](如果存在具有该属性的方法)。 – Gorgsenegger 2011-06-03 11:41:25
似乎你在测试方法之前发生了错误。我会检查构造函数。它可能是那里的测试初始化代码。
我不熟悉的xUnit,但它听起来像你的测试类之一:
未能在init方法或构造
不能从它的DLL创建。
确保你吃复制任何依赖的DLL和资源,静态类int测试执行目录,之前类的构造函数 带来调用。
我在Visual Studio 2017中有类似的问题。单元测试项目是由框架自动添加的。我读了很多博客,没有什么能够解决我的问题。 最后,我使用以下方法来实现它: 在解决方案级别,右键单击=>属性=>将它们设置为调试模式。
它究竟在哪里抛出NullReferenceException? – Jaime 2011-06-02 23:43:59
检查堆栈跟踪。 – Gishu 2011-06-03 05:24:19