在 Eclipse 中,如果我在没有断点的 Debug模式下运行 Java 程序,并且如果 JVM 遇到 NullPointerException,Eclipse 会高亮显示有问题的代码行,并显示局部变量等。执行被暂停。我可以使用“显示”选项卡来评估代码,等等。
但是,如果我在 Debug模式下运行 JUnit 测试,并且 jvm 遇到 NullPointerException,则 jvm 不会暂停,并且我没有机会看到局部变量。
是否可以运行 JUnit 测试,以便 JVM 在我遇到 NullPointerException 时自动暂停,而不使用断点?
编辑: 使用 JUnit 4 和 Juno
最佳答案
当抛出的异常未被捕获时Eclipse 会停止,并将您从main() 中剔除。但是,当您使用 JUnit 框架运行时,所有异常都会被 JUnit 捕获,因此 Eclipse 不会停止。
想到两个解决方案:
- 设置异常断点以在
NullPointerException
被抛出时停止 - 使用 JUnit 报告的异常堆栈跟踪,并在引发异常的行设置断点(这是我更喜欢的那个)。
关于java - 如何在 Eclipse 中调试类似于常规 Java 程序的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991682/