2011-06-02 145 views
1

我有以下xUnit单元测试引发nullReferenceException。无法在Visual Studio中调试单元测试

所以我决定调试。但是,当我调试我的测试失败之前,即使它击中第一个中断点。

我该如何解决这个问题?

enter image description here

+1

它究竟在哪里抛出NullReferenceException? – Jaime 2011-06-02 23:43:59

+0

检查堆栈跟踪。 – Gishu 2011-06-03 05:24:19

回答

3

在运行单元测试,下一次,打CTRL-D, E弹出调试|例外窗口。为了加快速度,只需在Thrown列中的CLR Exceptions旁边勾选即可。现在运行。希望执行将在您的NullReferenceException的源头中断。

0

您是否拥有xUnit等价的MSTest的[ClassInitialize][TestInitialize]属性的方法?如果其中一个抛出了你的NullReferenceException,那可能是它没有触及你的断点的原因。

+0

检查错误时还包括[AssemblyInitialize](如果存在具有该属性的方法)。 – Gorgsenegger 2011-06-03 11:41:25

1

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

0

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

  1. 未能在init方法或构造

  2. 不能从它的DLL创建。

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

1

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