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 相关文章推荐
学习ExtJS accordion布局
Oct 08 Javascript
JS小框架 fly javascript framework
Nov 26 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
JavaScript中URL编码函数代码
Jan 11 Javascript
JS读取cookies信息(记录用户名)
Jan 10 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
Nov 16 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
jquery表单插件form使用方法详解
Jan 20 Javascript
webpack多页面开发实践
Dec 18 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 Javascript
layui 实现加载动画以及非真实加载进度的方法
Sep 23 Javascript
微信小程序实现音乐播放页面布局
Dec 11 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简单封装了一些常用JS操作
2007/02/25 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
如何在php中正确的使用json
2013/08/06 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
JavaScript 函数式编程的原理
2009/10/16 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
2015/02/13 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
Python实现多线程抓取妹子图
2015/08/08 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
opencv+python实现均值滤波
2020/02/19 Python
Python绘制动态水球图过程详解
2020/06/03 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
EJB实例的生命周期
2016/10/28 面试题
班干部演讲稿
2014/04/24 职场文书
统计专业自荐书
2014/07/06 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
画展邀请函
2015/01/31 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript