分类 代码如诗 下的文章

最近研究Electron,涉及到了自动更新,网上教程也不少,但是好多都不可用了,经过了2天的摸索,终于搞定了菜单手动更新或者偷摸自动更新安装。因为我没有MAC,所以这篇文章只针对Windows系统,等我搞到了MAC,我再来一篇关于MAC的文章!

- 阅读剩余部分 -

最近项目中在逐步的尝试使用Vue+Electron做一些客户端,其中就有一个这样的需求:用户在安装完客户端后,需要运维人员把每个电脑上的客户端做不同的配置,也就是说,需要有一个配置文件的存在。

现在拆分下需求细节:

  1. 给到用户的是一个exe的安装包。
  2. 统一的安装包,但是不同机器配置可以修改。
  3. 配置文件应该在安装后的安装目录里面,方便运维查找。
  4. 在开发的时候,就需要把这个读取的静态文件列出来,打包的时候,需要单独抽出来。

- 阅读剩余部分 -

自动化测试分类

UT测试

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。简单来说,单元就是人为规定的最小的被测功能模块,可能是一个单一函数或方法、一个完整的组件或类。

单元测试是最小巧也是最简单的测试——它们通过隔离单个组件的每一个部分,来在最小工作单元上进行断言。

单元测试侧重:检验函数的输出结果

E2E测试

e2e (端到端) 测试,致力于确保组件的一系列交互是正确的。它们是更高级别的测试,例如可能会测试用户是否注册、登录以及更新他们的用户名。这种测试运行起来会比单元测试和快照比对测试慢一些。

e2e测试侧重:从用户视角,对真实系统的访问行为进行仿真

- 阅读剩余部分 -

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

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;
};

- 阅读剩余部分 -