gpt4 book ai didi

java - 如何添加静态成员变量Jacoco Test Coverage?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:10:59 27 4
gpt4 key购买 nike

我有一个类如下:

public class XConstants {

public static final int A_TYPE = 1;
public static final int B_TYPE = 2;
}

我在测试中同时使用了这两个变量,但是当我使用 Jacoco 检查测试覆盖率时,它显示该类的测试覆盖率为 %0。我的猜测是,这是因为我从来没有实例化这个类,只是使用它的静态变量。我尝试创建一个实例,测试覆盖率达到 %100。我该如何克服这个问题?

最佳答案

JaCoCo 根据实际执行的字节码的百分比来衡量测试覆盖率。声明静态最终原语或字符串常量不会创建要执行的字节码,它只是常量池中的一个条目。这里唯一的字节码是一个隐式默认构造函数,通常是这样的:

aload_0
invokespecial Object.<init>
return

所以当你不调用它时,你有 0%,当你调用它时,你有 100%。

我的建议是忽略这个问题。无论如何,您都不应该尝试达到 100% 的覆盖率。毕竟它不能保证任何事情:即使 100% 覆盖的代码也可能包含严重的错误。

关于java - 如何添加静态成员变量Jacoco Test Coverage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30121265/

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