【问题标题】:Intellij find all test coverage for a classIntellij 找到一个类的所有测试覆盖率
【发布时间】:2018-02-28 17:44:08
【问题描述】:

我在 IntelliJ 中发现了一组非常好的功能,但它非常手动......

  • 使用分析/分析对象的反向依赖关系来查找最终引用该类的所有测试。
  • 使用测试类型“模式”创建运行配置,并手动将找到的每个测试类输入到“模式”字段中。
  • 使用代码覆盖率运行测试
  • 导航到原始类以查看它的总测试覆盖率。

整个过程相当缓慢且用户密集,但可以通过一个“查找类的测试覆盖率”按键轻松实现自动化(它仍然会很慢,但我可以继续做其他事情) .有谁知道这是否在我还没有找到的键绑定或插件中?这似乎是一个非常有用且易于实现的功能。

如果没有,任何人都可以建议我如何使用 IDE 脚本控制台或自定义 Intention 来执行此操作(我没有成功找到 IDE 脚本控制台的非常好的可用文档/示例,也没有研究过意图很多...)

【问题讨论】:

    标签: intellij-idea code-coverage


    【解决方案1】:

    基于 Windows 快捷方式的以下 2 个流程/选项怎么样(不要介意失败的东西,为简洁起见,这只是快速复制粘贴):


    1) 将光标放在您的班级名称上:

    • CTRL+SHIFT+T(选择启动测试)
    • SHIFT+END(全选)
    • SHIFT+UP(取消选择Create new test...
    • CTRL+SHFIT+F10(执行选定的测试)


    2) 在查找窗口中选择Group by test/production 选项并将光标放在您的班级名称上:

    • ALT+F7(查找用法)
    • 从列表中选择测试
    • CTRL+SHFIT+F10(执行选定的测试)

    【讨论】:

    • 嗯,ctrl-shift-t 找不到所有引用该类的测试。其中一些“向后依赖”发现可能不会直接引用测试,但他们间接使用它,因此其他工具都没有选择它。另外, ctrl+shift+f10 似乎在依赖项窗口上不起作用(如果这样做会使过程更容易),还是我做错了什么?
    • @BillK 1) CTRL+SHIFT+T 打开该类的测试列表,也许我误解了您的需要,抱歉。但是,ALT+F7 会查找所有引用。 2) 选择测试后,CTRL+SHIFT+F10 似乎可以在依赖项窗口的底部窗格中使用。我正在使用 IJ Ultimate 2017.3.4。
    • 如果 ctrl+shift+f10 对你有用,那一定是我的版本(我们必须留在 2016.2.4,因为更高版本不支持我们的某些要求),所以非常感谢你你的帮助——我确定这就是问题所在。顺便说一句,ctrl+shift+t 只找到测试中直接提到的文件(我认为)——无论如何它错过了依赖查看器找到的我的 3 个文件。我猜这是因为测试中没有直接提到该类——只是被其他不相关的测试间接使用。
    • @BillK CTRL+SHIFT+T 除了用 ALT+F7 试过第二种方法吗?是不是都找不到,还是有什么问题?
    • ALT+F7 查找该类的所有直接用途——我想我无法描述我所追求的,抱歉。我想要所有可能为我正在测试的类增加覆盖率的测试(我们的许多测试都是作为功能测试编写的,而不是单元测试)。例如,如果 X 类实例化 Y 类(我正在评估的类),那么我希望包含任何 X 类测试,即使这些测试不直接包含、使用甚至提及 Y 类。这就是“Analyze Backwards Dependencies”找到但没有其他任何东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2014-01-08
    • 2015-03-27
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多