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 Grid使用SimpleStore、多选框的方法
Nov 20 Javascript
js confirm()方法的使用方法实例
Jul 13 Javascript
javascript中数组的sort()方法的使用介绍
Dec 18 Javascript
JS实现为表格动态添加标题的方法
Mar 31 Javascript
jQuery定义插件的方法
Dec 18 Javascript
JavaScript数值千分位格式化的两种简单实现方法
Aug 01 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
AngularJS动态菜单操作指令
Apr 25 Javascript
Vue.js划分组件的方法
Oct 29 Javascript
js监听html页面的上下滚动事件方法
Sep 11 Javascript
Vue实现数据表格合并列rowspan效果
Nov 30 Javascript
Vue项目中如何封装axios(统一管理http请求)
May 02 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
11个PHP 分页脚本推荐
2011/08/15 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
JS原型对象通俗"唱法"
2012/12/27 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
python切换hosts文件代码示例
2013/12/31 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
详解python中@的用法
2019/03/27 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python实现图像外边界跟踪操作
2020/07/13 Python
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
大学班级学风建设方案
2014/05/01 职场文书
自主招生推荐信范文
2014/05/10 职场文书
董事长助理工作职责
2014/06/08 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript