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

标签 java eclipse debugging junit

在 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/

相关文章:

java - 从 Eclipse 在 Tomcat 中部署时更改 Web 应用程序中的文件夹名称

c# - Visual Studio 调试器巫术

c++ - 为特定线程禁用 VS 调试器

java - 在 Struts2 中如何在没有参数出现在 URL 中的情况下进行永久重定向(状态代码 301)

java - 创建或替换并解析 Java 源代码,我无法使用 Java 源代码创建函数

java - 单元测试的测试用例成功,但带有 NoSuchMethodError 的 Instrumented Test 失败

eclipse - Jersey、REST 和 web.xml 在 Eclipse 中运行时禁用@ServerEndpoint websocket

php - Ubuntu 中 Eclipse 中的 PDT/PHP 插件无法正常工作 - “page not found” 错误

java - 当计算的字符串包含重音字符时,校验和不匹配

c++ - 如何定位 WinRT 异步方法调用中出现错误的位置?