12 款 JS 代码测试必备工具(翻译)


Posted in Javascript onDecember 13, 2016

每天都会产生新的代码、用户测试工具和框架。下面的列表列出了可以完成各种测试需求的代码工具。你应该调查研究一下,看这些工具是否适用于你的技术栈和技术需求。

01. Jasmine

12 款 JS 代码测试必备工具(翻译)

Jasmine 是一个行为驱动的测试开发框架,用于对 JavaScript 代码进行测试。它不依赖其它任何 JavaScript 框架,也不需要 DOM。它的语法简洁、明确,写测试非常容易。

02. Mocha

Mocha 是一个功能丰富的 JavaScript 测试框架,既运行于 Node.js 环境中,也可以运行于浏览器环境中。Mocha 以串行方式运行测试,能做出灵活而准确的报告,也能将测试中未捕捉的异常映射到正确的测试用例。

12 款 JS 代码测试必备工具(翻译)

03. Chai

Chai 是个支持 BDD / TDD 的库,可用于 node 和浏览器,可配合任何 JavaScript 测试框架使用。

04. QUnit

12 款 JS 代码测试必备工具(翻译)

QUnit 是个功能强大又易于使用的 JavaScript 单元测试框架。jQuery、jQuery UI 和 jQuey Mobile 项目都使用这个框架,它能测试普通的 JavaScript 代码。

05. Sinon

Sinon.JS 为 JavaScript 提供了独立的 spies、stubs 和 mocks [译者注:Spy、Stub 和 Mock 都是测试专用名词,Stub 常被翻译为桩,spies 是 Spy 的复数形式,是一种可以监视方法、调用和参数的技术]。它不依赖任何东西,可以配合任何单元测试框架工作。

06. Karma

Karma 是针对连通浏览器的一个框架无关测试运行器。每一个测试结果对应每个浏览器,它的测试和显示都是通过命令行暴露给开发者的,这样他们就可以看到浏览器测试的通过或失败。

07. Selenium

12 款 JS 代码测试必备工具(翻译)

Selenium 有一个简单的目标:就是自动化浏览器。它主要用于自动化测试 web 应用程序,但是只是很简单地考虑到了基于网络的管理任务。

08. WebdriverIO

WebdriverIO 允许用户仅添加几行代码就可以控制浏览器或移动应用程序,使测试代码更简单、简洁、易读。集成的 TestRunner 同样允许你以同步的方式调用异步命令,这样你不需要关心如何处理 Promise 以避免竞态条件。此外,它取消了所有的繁琐的设置工作,并且会为您管理的 Selenium 会话。

09. Nightwatch

12 款 JS 代码测试必备工具(翻译)

Nightwatch.js 是一个易于使用的 Node.js,它是为基于浏览器的 app 和网站设计的终端到终端(E2E)的测试方法。它使用强大的 W3C WebDriver API ,用于在 DOM 元素上执行命令和断言。

10. PhantomCSS

PhantomCSS 获得 CasperJS 捕获的屏幕截图,并使用 Resemble.js 将其与基准图进行对比,以测试 RGB 像素差异。 PhantomCSS 然后生成图像差异对比,用于帮助您找到原因。

11. PhantomFlow

PhantomFlow 使用决策树提供 UI 测试方案。针对 PhantomJS, CasperJS 和 PhantomCSS 的 NodeJS 包装器—— PhantomFlow 能够流畅地在代码中描述用户流程,同时生成用于可视化的结构化树数据。

12. Percy.io

 Percy 提供关于视觉变化的迭代及快速反馈,带来了所谓的连续视觉集成。它是通过下面方式实现的:运行测试套件,获取 DOM 快照并上传到 Percy 服务,最终在浏览器中渲染之。

英文原文:12 must-have code testing tools 译文:https://www.oschina.net/translate/12-must-have-user-testing-tools

Javascript 相关文章推荐
[IE&FireFox兼容]JS对select操作
Jan 07 Javascript
JQuery Dialog的内存泄露问题解决方法
Jun 18 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
javascript实现全角与半角字符的转换
Jan 07 Javascript
jQuery使用hide方法隐藏元素自身用法实例
Mar 30 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
Oct 26 Javascript
基于javascript实现tab切换特效
Mar 29 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
AngularJS自定义表单验证功能实例详解
Aug 24 Javascript
使用flow来规范javascript的变量类型
Sep 12 Javascript
js实现无刷新监听URL的变化示例代码详解
Jun 03 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
Nov 12 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 #Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 #Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 #Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 #Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 #Javascript
JavaScript实现倒计时跳转页面功能【实用】
Dec 13 #Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 #Javascript
You might like
php魔术方法功能与用法实例分析
2016/10/19 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
Python中join和split用法实例
2015/04/14 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
用Eclipse写python程序
2018/02/10 Python
python3下实现搜狗AI API的代码示例
2018/04/10 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
python实现文件的分割与合并
2019/08/29 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
服务型党组织建设典型材料
2014/05/07 职场文书
行政司机岗位职责
2015/04/10 职场文书
2015年圣诞节寄语
2015/08/17 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS