2020年12月

起因还是由于封装的函数库里面有一个精度计算的问题,代码如下:

const addExact(arg1, arg2) => {
    let r1, r2, m;
    try {
        r1 = arg1.toString().split('.')[1].length;
    } catch (e) {
        r1 = 0;
    }
    try {
        r2 = arg2.toString().split(".")[1].length;
    } catch (e) {
        r2 = 0;
    }
    m = Math.pow(10, Math.max(r1, r2));
    return Math.round(arg1 * m + arg2 * m) / m;
};

- 阅读剩余部分 -

消失了快2个月了,博客也没有更新了,一直想写点东西,但是无奈时间不够,天天加班……

加班干嘛呢,搞了两个前端的小玩具,一个是前端可视化平台,另外一个是前端工具函数库:

2020-12-08T04:03:39.png

第一个暂时没有开源,里面用的是我们封装的饿了么组件,后期会封装业务之类。

第二个工具函数库已经开源了,使用TS + Rollup + Jest,但是现在还没有经过大规模验证,还在起步期间,可以来做小白鼠,质量这块专门弄了Jest做单元测试,尽量保证质量,后续我会把一些开发中遇到的问题和总结发出来。

2020-12-08T09:06:20.png

Jest单元测试的几个指标:
stmts是语句覆盖率(statement coverage):是不是每个语句都执行了?
Branch分支覆盖率(branch coverage):是不是每个if代码块都执行了?
Funcs函数覆盖率(function coverage):是不是每个函数都调用了?
Lines行覆盖率(line coverage):是不是每一行都执行了?

目前来看,整体测试覆盖度98%,哈哈。

至于第一个,先挖一个坑,我会在博客的后续文章中,把一些思路和方法总结归纳一下,大家可以共同探讨,然后做出一个通用性较好的东西来开源。