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

时间:2013-11-07 19:18:01

标签: java unit-testing junit intellij-idea

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

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

7 个答案:

答案 0 :(得分:15)

您应该能够在项目视图(文件>项目结构)中转到外部库,找到包含.class文件的jar,然后右键单击(或F4)。您将看到“打开库设置”。在该对话框中,您可以将src文件夹附加到库中。 enter image description here

答案 1 :(得分:2)

我有类似的问题。在我的情况下,这是由于不正确的模块配置。基本上,您必须确保将包含java文件的源文件夹添加到相应模块中的Sources选项卡。

要执行此操作,请转到Project Structure (Ctrl + Alt + Shift + S)并选择Modules。选择相应的模块并验证包含java文件的源文件夹是否已正确添加到Sources Folders。如果不是那么添加它。

答案 2 :(得分:2)

我有类似的问题。即使在指向正确的源文件夹之后问题仍然存在,但我通过将classes文件夹设置为源代码的根文件夹来摆脱它。

enter image description here

答案 3 :(得分:2)

我今天得到了这个问题。我的解决方案是右键单击main pom.xml,然后单击maven,然后重新导入。

答案 4 :(得分:2)

我使用的是 IntelliJ IDEA 2019.3 终极版,遇到这个问题,调试器会跳转到反编译的 .class 文件 在调试器跳转到 .class 文件后的右上角 enter image description here

您将看到“选择源”选项,选择包含 .java 文件的目录。至少对我有用。

答案 5 :(得分:0)

为JAVA Maven项目添加解决方案。

从“项目设置”中打开“库”,搜索并选择要附加源文件的Java jar。然后,您可以通过单击“ +”按钮添加源目录。

答案 6 :(得分:0)

我遇到了类似的问题。对我来说,解决方案是关闭项目,删除.idea文件夹,然后重新打开项目。