gpt4 book ai didi

java - 如何在不使用 PowerMock 中的 PrepareFor 注释的情况下模拟私有(private)方法?

转载 作者:行者123 更新时间:2023-12-03 05:58:03 24 4
gpt4 key购买 nike

我正在尝试使用 JaCoCo 生成代码覆盖率报告。我的公司明确规定我只能使用 JaCoCo。不幸的是,有一个测试用例,我需要使用 PowerMock 来模拟私有(private)方法。所以我必须使用@PrepareFor 注释和@RunWith(PowerMockRunner.class) 注释。当我尝试使用 gradle clean build jacocoTestReport 在 gradle 中生成报告时,由于注释的原因,代码覆盖率并未涵盖此测试用例。
有解决方法吗?

最佳答案

你有两种方法:

  • 使用描述的离线 JaCoCo 工具 here .对于 Gradle 示例,您可能会找到 here
  • 尝试使用ByteBuddy并重新定义一个包含私有(private)方法的类并为该方法添加处理程序。 ByteBuddy 与 Javassist 不同,它使用已加载的、已由 JaCoCo 检测的类。
  • 关于java - 如何在不使用 PowerMock 中的 PrepareFor 注释的情况下模拟私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670347/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com