当前位置: 首页 > 知识库问答 >
问题:

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

公沈义
2023-03-14

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

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

共有2个答案

龚宏壮
2023-03-14

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

唐阳泽
2023-03-14

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

要执行此操作,请转到项目结构(Ctrl-Alt-Shift-S)并选择模块。选择相应的模块,并确认包含java文件的源文件夹已正确添加到源文件夹。如果不是,则添加它。

 类似资料:
  • 问题内容: 我的单元测试与集成测试位于单独的目录树中,但是具有相同的包结构。我的集成测试需要外部资源(例如服务器)可用,但是我的单元测试彼此之间以及与环境之间是完全独立的。 在IntelliJ-IDEA(v7)中,我定义了一个JUnit运行/调试配置,以运行顶层程序包中的所有测试,并且这当然会拾取失败的集成测试。 我想定义一个运行所有单元测试的运行junit配置。有任何想法吗? 问题答案: 答案是

  • 我对IntelliJ有问题--如果我用Ctrl+单击该类,它会显示一个类的“反编译”版本,而不是它的源代码。 这就是我所看到的: 我正在尝试打开常规的JDK源文件。 src.zip没有损坏-我可以通过WinRAR打开它 当将JDK1.8.0_161添加到IntelliJ中时,它会自动找到src.zip。当手动将src.zip添加到jbsdk8u112b287.2_windows_x86 Sourc

  • 我对使用Intellij是新手。我只有一个委屈,那就是编译器。我更喜欢Eclipse编译器编译项目并跳过包含错误的类的方式。 您可能会说修复您的项目,但我正在处理的项目中,人们已经提交了带有错误的代码。我怎样才能绕过这个问题,我看到设置中有一个使用Eclipse编译器的选项,但这没有什么区别/我不知道跳过错误的参数。

  • 我是Cassandra的新手,我正在尝试创建一个用户定义的聚合,但一直停留在函数创建上。 表中数据为- 我正在编写的函数将计算特定主机的表中有多少行。如果我为聚合提供test_host1,理想的结果将是3。 在下面找到函数的代码- 在cqlsh上执行此操作时,我得到以下错误- InvalidRequest:code=2200[无效查询]message=“无法从Java源代码org.apache.c

  • 我正在尝试使用PHPUnit和Selenium与headless firefox建立一个自动测试。Travis CI尝试运行我的测试时,Selenium server无法启动,但我的测试被认为正常,因为PHPUnit将其标记为跳过: 在我看来,当测试因为内部错误而无法启动时,应该认为它失败了。这真的很愚蠢,因为我的测试可能会以这种方式失败,如果没有阅读完整的报告,我可以相信事实上一切都正常运行,因

  • 问题内容: 在我的代码中,仅当它在JUnit测试中运行时,才需要进行某些修复。如何确定代码是否在JUnit测试中运行?是否有类似JUnit.isRunning()== true的东西? 问题答案: 如果您要以编程方式确定要运行哪个“配置文件”,则可能是一个好主意。考虑使用Spring Profiles进行配置。在集成测试中,您可能需要针对其他数据库进行测试。 这是经过测试的有效代码