Jacoco覆盖率的疑问-类名为什么显示没有覆盖

今天看到一个群的同事问了一个问题: jacoco的报告中为什么静态类显示为红色没有被覆盖,但是实际上它里面的方法确已经被覆盖了呢?

在这里插入图片描述

这个问题我还是挺感兴趣的。所以我尝试去了解了下具体的原因,因为我们清楚jacoco的插桩方式是通过编译后的class文件进行插桩,所以我们也找到一个类里面都是静态的方法然后进行插桩看下结果是咋样的。

 */
public class PropertyAndConfigUtil {

    public static Map<String, Object> defaultDeviceConfigMap() {
        Map<String, Object> defaultConfig = Maps.newHashMap();
        defaultConfig.put("carouselInterval", 10000);
        defaultConfig.put("imageDisplayMode", 1);
        defaultConfig.put("imageDescriptionDisplay", true);
        defaultConfig.put("videoVolume", 50);
        defaultConfig.put("voiceAssistant", false);
        defaultConfig.put("safeButton", true);
        defaultConfig.put("weatherSwitch", false);
        return defaultConfig;
    }
}

类似于这样子的类。我们拿到对应的class文件以后。进行插桩查看。

在这里插入图片描述

到这里我们大概就能够恍然大悟了。因为类如果默认没写构造函数就在编译后会生成一个默认的构造函数,然后agent就会去针对构造函数也插桩 所以就导致类没有覆盖的情况了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
非常抱歉,我之前理解有误了。对于ali-react-table 2.6版本,要为树形节点添加过渡效果,可以使用CSS的`transition`属性来控制节点高度的变化。 具体步骤如下: 1. 在ali-react-table的CSS文件中,为`tbody`元素添加`max-height`属性和`overflow`属性。这样可以控制表格的最大高度和溢出时的显示方式。 2. 在`expandedRowRender`函数中,为展开的内容元素添加`transition: max-height 0.3s ease-in-out`属性。这样可以控制节点高度的平滑变化。 3. 在`rowSelection`函数中,为可选中的行添加`className`属性,用于控制节点选中/未选中状态。 以下是一个样例代码,仅供参考: ```CSS .ant-table-tbody { overflow: hidden; } .ant-table-row-expand-icon-cell { cursor: pointer; } .ant-table-row-expand-icon-cell > .ant-table-row-expand-icon { transition: transform 0.3s ease-in-out; } .ant-table-row-expand-icon-cell.ant-table-row-expanded > .ant-table-row-expand-icon { transform: rotate(90deg); } .ant-table-row-expand-icon-cell.ant-table-row-collapsed > .ant-table-row-expand-icon { transform: rotate(0deg); } .ant-table-expanded-row { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; } .ant-table-row-selected > .ant-table-cell > .ant-checkbox-wrapper > .ant-checkbox { transition: all 0.3s ease-in-out; } ``` 在上面的代码中,我们为树形节点添加了一个类名`.ant-table-row-expanded`,并使用CSS过渡属性实现了高度的平滑变化。同时,我们也为展开/关闭图标添加了过渡效果,使得图标可以平滑旋转。 同时,我们也为选中/未选中的行添加了过渡效果,使得选中状态可以平滑变化。这里我们使用了`.ant-table-row-selected`类名来控制选中状态。如果你在`rowSelection`函数中自定义了`getCheckboxProps`方法,你可以在该方法中添加`className`属性来控制选中状态。例如: ```JavaScript const rowSelection = { getCheckboxProps: (record) => ({ className: record.checked ? 'ant-table-row-selected' : '' }) } ``` 希望这些信息对你有所帮助,如有任何问题或疑问,欢迎随时向我提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值