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 相关文章推荐
jQuery ctrl+Enter shift+Enter实现代码
Feb 07 Javascript
最简单的js图片切换效果实现代码
Sep 24 Javascript
jQuery蓝色风格滑动导航栏代码分享
Aug 19 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
Aug 15 Javascript
JS多文件上传的实例代码
Jan 11 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
Jan 27 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
elementUI多选框反选的实现代码
Apr 03 Javascript
Cordova(ionic)项目实现双击返回键退出应用
Sep 17 Javascript
Vue移动端实现图片上传及超过1M压缩上传
Dec 23 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
使用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+XML 制作简单的留言本 图文教程
2009/11/02 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
php远程下载类分享
2016/04/13 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
jQuery中eq()方法用法实例
2015/01/05 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
Python中的闭包总结
2014/09/18 Python
python关键字and和or用法实例
2015/05/28 Python
详解Django中的权限和组以及消息
2015/07/23 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
怎样声明一个匿名的内部类
2016/06/01 面试题
红领巾广播站广播稿
2014/02/01 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
作风建设剖析材料
2014/10/06 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python