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关于页面焦点的定位(文本框获取焦点时改变样式 )
Sep 10 Javascript
javascript开发随笔二 动态加载js和文件
Nov 25 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
Aug 24 Javascript
jquery实现点击文字可编辑并修改保存至数据库
Apr 15 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
Jun 24 Javascript
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
日常收集整理的JavaScript常用函数方法
Dec 10 Javascript
JQuery选中select组件被选中的值方法
Mar 08 jQuery
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
微信小程序的引导页实现代码
Jun 24 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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
apache php mysql开发环境安装教程
2016/07/28 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
表单提交验证类
2006/07/14 Javascript
IE8 浏览器Cookie的处理
2009/01/31 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
Python中对象迭代与反迭代的技巧总结
2016/09/17 Python
python实现redis三种cas事务操作
2017/12/19 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
Python 处理文件的几种方式
2019/08/23 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
配置管理计划的主要内容有哪些
2014/06/20 面试题
小学元宵节活动总结
2015/02/06 职场文书
毕业酒会致辞
2015/07/29 职场文书
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers