最近测试团队提出一个问题-Web有个请求Failed to load response data

于是开始了分析及解决,这里Mark下

排除情况

  1. response.status是200,说明请求正常发起及返回
  2. 该请求的返回体为空,但面对空返回体,Chrome显示是This request has no response data available,而这里显示并不同,所以不是这个问题
阅读全文 »

之前的一段时间,将参与的多个WEB项目已经已经从TSLint迁移到ESLint,紧接着的问题就是共享ESLint配置,方案自然还是npm包管理

包项目结构

1
2
3
4
5
6
7
├── CHANGELOG.md
├── README.md
├── commitlint.config.js
├── index.js // 规则配置
├── package.json
└── yarn.lock

具体内容,戳这里

注意点

阅读全文 »

今天刷了几道常见算法题,这里简单MARK下。

数组去重

reduce

1
2
3
4
5
6
7
8
9
function uniqueArr(arr) {
return arr.reduce((result, item) => {
if (result.includes(item)) {
return result;
}
result.push(item);
return result;
}, []);
}

set特性

阅读全文 »

最近在做ESLint规则配置,重新注意了下complexity规则,之前对该规则不够重视,理解有盲区,于是系统学习,这里mark下。

概念

循环复杂度 Cyclomatic complexity也称为条件复杂度圈复杂度,是一种软件度量,是由老托马斯·J·麦凯布在1976年提出,用来表示程序的复杂度

圈复杂度计算

公式

阅读全文 »

一直以来有个不正确认识,就是断言只服务于测试。确实,在实际的项目中断言更多出现在了UT里,久而久之潜移默化下的我认为确实如此,然而这是错的。

断言的概念

在程序设计中,断言(assertion)是一种放在程序中的一阶逻辑(如一个结果为真或是假的逻辑判断式),目的是为了标示与验证程序开发者预期的结果-当程序运行到断言的位置时,对应的断言应该为真。若断言不为真时,程序会中止运行,并给出错误消息。

断言的使用有助于程序设计者设计、开发及理解程序。

摘自WIKI-戳这里

如上,断言是一种程序逻辑,一种基于契约式的设计。测试只是用到了断言,我们并不应该将测试与断言画上充分必要符号。

阅读全文 »
0%