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 JSON操作入门实例
Apr 16 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
Jul 18 Javascript
浅谈JS闭包中的循环绑定处理程序
Nov 09 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
Mar 12 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 Javascript
VUEJS实战之构建基础并渲染出列表(1)
Jun 13 Javascript
Vue.js一个文件对应一个组件实践
Oct 27 Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
vue-列表下详情的展开与折叠案例
Jul 28 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 set_time_limit()函数的使用详解
2013/06/05 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
Bootstrap每天必学之折叠
2016/04/12 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
pandas的qcut()方法详解
2019/07/06 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
Python爬取梨视频的示例
2021/01/29 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
应聘美工求职信
2013/11/07 职场文书
大学生英语演讲稿
2014/04/24 职场文书
重阳节标语大全
2014/10/07 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android