前端单元测试
来源:互联网 发布:新游上线软件 编辑:程序博客网 时间:2024/05/29 03:02
- 什么是单元测试,为何要用
单元测试是用来确认某段代码或模块或接口是否适合使用。随着项目规模的增加,函数、方法、变量都在递增,各种Bug报告会让原本整洁的代码变得一片混乱。对项目代码进行重构时,如何确定项目仅仅是被重构了,而不是被改写了?此时单元测试将是一根救命稻草,它是一个衡量标准,告诉开发人员这么做是否将改变结果。保证了产品的安全性和稳定性。 测试框架通常提供TDD(测试驱动开发)或BDD(行为驱动开发)的测试语法来编写测试用例。
BDD(行为驱动开发)的重点是通过与利益相关者的讨论取得对预期的软件行为的清醒认识。它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法。TDD(测试驱动开发)需要遵循如下规则:
- 写一个单元测试去描述程序的一个方面。
- 运行它应该会失败,因为程序还缺少这个特性。
- 为这个程序添加一些尽可能简单的代码保证测试通过。
- 重构这部分代码,直到代码没有重复、代码责任清晰并且结构简单。
- 持续重复这样做,积累代码。
衡量是否使用了TDD的一个重要标准是测试对代码的覆盖率,覆盖率在80%以下说明一个团队没有充分掌握TDD
JS测试主要使用到的工具是测试框架、断言库以及代码覆盖率工具:
- 测试框架:Mocha,Jasmine,Jest,Karma
- 断言库:Chai,Should,assert,Jasmine,Jest
- 代码覆盖工具:Istanbul,Jest,Karma-Coverage
三种工具各选一个配合使用,一般常见为mocha+chai、mocha+should、jest
- 浏览器测试工具
对于浏览器里跑的前端代码,做测试要比Node.js模块要麻烦得多。Node.js模块纯js代码,使用V8运行在本地,测试用的各种各样的依赖和工具都能快速的安装,而前端代码不仅仅要测试js,CSS等等,更麻烦的事需要模拟各种各样的浏览器。
前端代码是运行在浏览器中的,要对其进行单元测试,只能将其运行在浏览器上。目前大部分测试工具都支持调用和运行本地浏览器来进行测试,但如果你的测试仅仅是针对函数和模块的单元测试,则完全可以使用一款无界面的浏览器,工具:Puppeteer,Phantom。相关链接:https://cloud.tencent.com/community/article/529168 - 常用语法
- mocha提供API。describe块称为”测试套件”(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称(”index.js的测试”),第二个参数是一个实际执行的函数。
- it块称为”测试用例”(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称(”1应该是数字”),第二个参数是一个实际执行的函数。
6.
阅读全文
0 0
- 前端单元测试
- QUnit前端单元测试
- 前端单元测试工具
- 前端单元测试工具-karma
- 关于前端开发谈谈单元测试
- 关于前端开发谈谈单元测试
- 关于前端开发谈谈单元测试
- 前端单元测试总结及测试工具介绍
- Karma+Jasmie做前端项目的单元测试
- 前端单元测试插件qunit.js使用示例
- 前端单元测试之Karma环境搭建
- 作为前端,应该知道什么是‘单元测试’?
- 前端单元测试之Karma环境搭建
- 在WebStorm中集成Karma+jasmine进行前端单元测试
- web前端中的单元测试和端对端测试
- 前端自动化测试工具--使用karma进行javascript单元测试
- 前端接口服务器的文字性整理,方便写单元测试
- 前端新手使用karma+mocha+chai+sinon 进行angularjs 单元测试
- Linux下安装php的扩展文件fileinfo.so文件
- 构造方法
- NodeJs在windows安装配置
- 【linux】 CentOS 6.5升级gcc
- 函数设计实例
- 前端单元测试
- 通过pip,更新电脑上全部的依赖库.
- 消息摘要算法加密(代码实现)
- 硬件工程师基础知识架构
- 1055. 集体照
- Struts2
- ueditor 上传的图片在内容里显示的尺寸过大的问题
- NOIP 模拟题 小G的城堡
- webpack 代码压缩优化篇