IntelliJ - 如何从"运行"视图中的失败单元测试跳转到源而不是编译类

krm*_*krm 25 java junit unit-testing intellij-idea

当我在IntelliJ中运行JUnit测试并且其中一个测试失败时,我想通过双击它来跳转到失败测试的源代码(或者右键单击它并选择"Jump to source"或"Show source" ")在结果视图中(在"运行"视图中的失败测试列表中).但是,此功能并不总是正常工作.有时会显示源代码,有时只在编辑器窗口中向我显示测试的已编译".class"文件.在双击失败的测试后,我总是希望在编辑器窗口中看到源代码(".java"文件)而不是".class"文件.其中一个解决方案是在编辑器窗口中单击"Attach Sources ...",其中显示测试类的".class"文件.然而,我必须为每个测试文件执行此操作,并且每次测试都需要花费很多时间重复执行.在我看来,IntelliJ应该自动找到源代码,因为它存在于我的Project中(它是我自己的类,它的源代码在项目中,我从Project视图运行这个测试,其中包含源代码的类是可见的).如何配置IntelliJ,以便它为我运行的每个单元测试自动找到源代码?

显示的".class"文件而不是".java"文件包含在由Maven构建的jar文件中.

Alp*_*ure 16

您应该能够在项目视图(文件>项目结构)中转到外部库,找到包含.class文件的jar,然后右键单击(或F4).您将看到"打开库设置".在该对话框中,您可以将src文件夹附加到库中.在此输入图像描述

  • 正如我在我的问题描述中提到的,我知道这个解决方案(以稍微不同的方式,因为"Attach Sources ..."出现在编辑器窗口的右上角,但它是相同的机制)和我一样也写在描述中,我希望IntelliJ更"智能",并发现我的项目中包含的java源文件,这些文件被编译为类文件.我所说的".java"和".class"文件不是外部库的文件,但它们是我在IntelliJ中的同一个项目中编写的文件. (7认同)

小智 5

我正在使用 IntelliJ IDEA 2019.3 终极版并遇到了这个问题,一旦调试器跳转到 .class 文件,调试器将跳转到反编译的 .class 文件在右上角 在此输入图像描述

您将看到一个“选择源”选项,选择包含 .java 文件的目录。至少为我工作过。