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 相关文章推荐
Javascript 表单之间的数据传递代码
Dec 04 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
Nov 02 Javascript
jQuery实现简洁的导航菜单效果
Nov 23 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
Apr 19 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
Sep 14 Javascript
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 Javascript
Vue实现剪贴板复制功能
Dec 31 Javascript
el-form 多层级表单的实现示例
Sep 10 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 Javascript
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
使用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
学习使用curl采集curl使用方法
2012/01/11 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
PHP多态代码实例
2015/06/26 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
几个有趣的Javascript Hack
2010/07/24 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
处理Python中的URLError异常的方法
2015/04/30 Python
django 常用orm操作详解
2017/09/13 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
python实现微信打飞机游戏
2020/03/24 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
精通CAD能手自荐书
2014/01/31 职场文书
品质口号大全
2014/06/17 职场文书
毕业生见习报告总结
2014/11/08 职场文书
2019消防宣传标语!
2019/07/10 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
python单元测试之pytest的使用
2021/06/07 Python