ESLint 、 e2e test 学习

ops/2025/1/15 21:58:00/

Lint和Format的区别:
Lint只会告诉你代码中的错误或者不符合规范的地方,而Format是用来对格式作调整的
HTML/tpl:HTMLLint
CSS/SCSS:Stylelint
JS/JSX:Eslint

  • JSLint:古老,不能配置和扩展
  • JSHint:可配置的JSLint版本,但难以知道哪个规则产生错误
  • ESLint:高度可配置

ESLint

配置文件: .eslintrc,.eslintrc.js, .eslintrc.yml
rules:

  • off 或 0 :关闭规则
  • warn 或 1 : 开启规则, 使用警告级别的错误
  • error 或 2 : 开启规则, 使用错误级别的错误
{"rules" :{"semi" : ["error", "never"],"quotes": ["error", "single"]}
}

Extends: 使用别人提供的包,如google

{"extends": "google"
}

plugins: 允许使用插件,在npm中搜索eslint-plugin-*,可以找到第三方提供的大量自定义的插件

{"extends": "google""plugins": ["react"],"rules": {"semi" : ["error", "never"],"quotes": ["error", "single"]}
}

安装

# --save-dev会把 eslint 安抓过到 package.json文件中的 devDependencies 属性中,意思是知识开发阶段用到的这个包,上线时就不需要这个包了
npm install eslint --save-dev

新增package.json脚本

"scripts": {"lint": "eslint src","lint:create": "eslint --init"
}

然后使用run命令

npm run lint

或者 直接使用npx命令

npx eslint --init

ESLint初始化
配置方法使用eslint --init方法
在这里插入图片描述
在这里插入图片描述
.eslintignore
可以在项目根目录创建,告诉ESLint忽略某些文件或者目录

常用的规则
comma-dangle: 要求或禁止使用拖尾逗号

rules: {"comma-dangle": ["error", "never"]
}

quotes:该规则强制使用一致的反勾号、双引号和单引号

rules: {"quotes": ["error", "single"]
}

semi: 句尾分号

rules: {"semi": ["error", "never"]
}

no-multiple-empty-lines:多个空行

rules: {"no-multiple-empty-lines": ["error", { "max": 2, "maxEOF": 1 }]
}

camelcase: 驼峰命名

rules: {"camelcase": "error"
}

no-console:禁用console

rules: {"no-console": process.env.NODE_ENV === 'production' ? "error" : "off"
}

eqeqeq:强等于

rules: {"eqeqeq": "error"
}

space-before-blocks:要求或禁止语句块之前的空格

rules: {"space-before-blocks": "error"
}

StyleLint

安装依赖

npm install stylelint -D
npm install -D stylelint-config-recommended stylelint-config-standard

.stylelintigore 忽略stylelint检查的文件

/src/**/*.css

.stylelintrc.js

module.exports = {"extends": ["stylelint-config-recommended", "stylelint-config-standard"],"rules": {"indentation": 2}
}

e2e test

通常对web应用程序执行两种类型的测试:单元测试和端到端(E2E)测试
单元测试:单元通常是单个函数,也可以是类或甚至是复杂的算法
e2e测试:功能测试,测试整个应用程序
e2e测试与应用程序交互,就像真实用户一样
1.加载您的网站
2.点击“注册”链接
3.为注册表单中的输入提供一些有效的详细信息
4.单击“注册按钮”
如果身份验证令牌已存储在Cookie中别切应用程序重定向到配置文件页面,则应通过此测试

e2e测试优点:

  • 可以一次隐式测试很多东西
  • e2e测试可确保您拥有一个工作系统

e2e测试缺点:

  • 运行缓慢:通常需要5或10分钟才能运行一个站点
  • 测试很脆弱,一个无关紧要的变化,如改变组件逻辑,就需要重新设计e2d test了
  • 测试无法查明失败的原因

所以,主要的业务流程可能会写e2d,不过规模要小很多

  • 便于给PM展示业务流程
  • 便于修改bug之后的回归

cypress

安装

npm install cypress --save-dev

使用方式

npx cypress open

或者添加package.json 后使用npm命令 npm run cypress:open

{"scripts": {"cypress:open": "cypress open"}
}

http://www.ppmy.cn/ops/25812.html

相关文章

基于SpringBoot的“在线BLOG网”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“在线BLOG网”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 在线BLOG网结构功能图 管理员登录功能界面 用户信息…

OI Wiki—枚举

//新生训练,搬运整理 简介 枚举(英语:Enumerate)是基于已有知识来猜测答案的问题求解策略。 枚举的思想是不断地猜测,从可能的集合中一一尝试,然后再判断题目的条件是否成立。 要点 给出解空间 建立简洁…

mysql UNION 联合查询

mysql UNION 联合查询 业务需要拉数据,这里需要对查询不同格式的数据进行组装,此处采用联合查询 注意1:null as 设备关爱 ,结果为null,表头为设备关爱 注意2: UNION 或者 UNION ALL 联合查询自行选用 注意3…

NET Vastbase .NET 中操作和使用 Vastbase 海量数据库

功能成熟 需要升级到:5.1.4.111-preview06 及以上 已经有大量用户成功完成了项目,sqlsugar针对Vastbase 做了多处理,并且和Vastbase 处于合作关系 。有BUG可以及时找到官方 连接字符串 用法和PGSQL一样 ,唯一区别 在连接字符串…

Linux的学习之路:22、线程(2)

摘要 本章继续讲一下线程的东西 目录 摘要 一、抢票 二、加锁保护 三、死锁 1、死锁四个必要条件 2、避免死锁 四、同步 1、常见的线程安全的情况 2、常见不可重入的情况 3、常见可重入的情况 4、可重入与线程安全联系 5、可重入与线程安全区别 一、抢票 这里回…

如何进行面向对象分析、面向对象设计和面向对象编程

目录 1.引言 2.案例介绍和难点剖析 3.如何进行面向对象分析 4.如何进行面向对象设计 5.如何进行面向对象编程 6.总结 1.引言 面向对象分析(OOA)、面向对象设计(00D)和面向对象编程(OOP)是面向对象开发的3个主要环节。 在以往的工作中,作者发现,很多…

使用Redis实现游戏排行榜

排行榜在当今应用中扮演着至关重要的角色。无论是游戏中的玩家排名、社交平台的用户活跃度榜单,还是其他领域的各种榜单,排行榜都是用户参与性和互动性的关键。在实现排行榜功能时,选择合适的数据库和数据结构至关重要。Redis,作为…

指纹浏览器:网络安全与隐私的新工具

在互联网时代,隐私和网络安全成为人们越来越关注的话题。随着数字化的发展,个人信息的泄露和在线追踪的问题愈发严峻。在这个背景下,"指纹浏览器"作为一种新型工具,开始受到关注。撸空投需要了解指纹浏览器。本文将深入…