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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
javascript中删除指定数组中指定的元素的代码
Feb 12 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
获取内联和链接中的样式(js代码)
Apr 11 Javascript
javascript计算星座属相(十二生肖属相)示例代码
Jan 09 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
Sep 25 Javascript
Javascript基础_简单比较undefined和null 值
Jun 14 Javascript
微信小程序 for 循环详解
Oct 09 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
vue中对象数组去重的实现
Feb 06 Javascript
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 Javascript
koa2 数据api中间件设计模型的实现方法
Jul 13 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
一个好用的分页函数
2006/11/16 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
Three.js基础学习教程
2017/11/16 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
Python内置函数的用法实例教程
2014/09/08 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
大专生找工作自荐书
2014/06/10 职场文书
2014年学习部工作总结
2014/11/12 职场文书
讲座通知范文
2015/04/23 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
2019新员工心得体会
2019/06/25 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
python基础详解之if循环语句
2021/04/24 Python
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
Python Pygame实战之塔防游戏的实现
2022/03/17 Python
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android