如何调试JUnit测试,类似于Eclipse中的常规Java程序

Edd*_*ied 22 java eclipse debugging junit

在eclipse中,如果我在调试模式下运行没有断点的Java程序,并且如果JVM遇到NullPointerException,Eclipse将会突出显示有问题的代码行,并显示局部变量等.执行暂停.我可以使用"显示"选项卡评估代码,依此类推.

但是,如果我在调试模式下运行JUnit测试,并且jvm遇到NullPointerException,则jvm不会暂停,并且我没有机会看到局部变量.

是否可以运行JUnit测试,以便JVM在遇到NullPointerException时自动暂停,而不使用断点?

编辑:使用JUnit 4和Juno

小智 5

当未捕获到引发的异常并将您从main()中移出时,Eclipse将停止。但是,当您使用JUnit框架运行时,JUnit会捕获所有异常,因此Eclipse不会停止。

有两种解决方案:

  • 将异常brekpoint设置为在引发NPE时停止
  • 使用JUnit报告的异常的堆栈跟踪,并在引发异常的行上设置断点(这是我更喜欢的那个)。


小智 5

  1. 打开要运行的 Junit 测试用例或 Junit 测试套件。
  2. 放置断点。
  3. 右键单击文件,然后单击调试为 > Junit 测试。