12 款 JS 代码测试必备工具(翻译)

所属分类: 网络编程 / JavaScript 阅读数: 1412
收藏 0 赞 0 分享

每天都会产生新的代码、用户测试工具和框架。下面的列表列出了可以完成各种测试需求的代码工具。你应该调查研究一下,看这些工具是否适用于你的技术栈和技术需求。

01. Jasmine

Jasmine 是一个行为驱动的测试开发框架,用于对 JavaScript 代码进行测试。它不依赖其它任何 JavaScript 框架,也不需要 DOM。它的语法简洁、明确,写测试非常容易。

02. Mocha

Mocha 是一个功能丰富的 JavaScript 测试框架,既运行于 Node.js 环境中,也可以运行于浏览器环境中。Mocha 以串行方式运行测试,能做出灵活而准确的报告,也能将测试中未捕捉的异常映射到正确的测试用例。

03. Chai

Chai 是个支持 BDD / TDD 的库,可用于 node 和浏览器,可配合任何 JavaScript 测试框架使用。

04. QUnit

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

Selenium 有一个简单的目标:就是自动化浏览器。它主要用于自动化测试 web 应用程序,但是只是很简单地考虑到了基于网络的管理任务。

08. WebdriverIO

WebdriverIO 允许用户仅添加几行代码就可以控制浏览器或移动应用程序,使测试代码更简单、简洁、易读。集成的 TestRunner 同样允许你以同步的方式调用异步命令,这样你不需要关心如何处理 Promise 以避免竞态条件。此外,它取消了所有的繁琐的设置工作,并且会为您管理的 Selenium 会话。

09. Nightwatch

Nightwatch.js 是一个易于使用的 Node.js,它是为基于浏览器的 app 和网站设计的终端到终端(E2E)的测试方法。它使用强大的 W3C WebDriver API ,用于在 DOM 元素上执行命令和断言。

10. PhantomCSS

PhantomCSS 获得 CasperJS 捕获的屏幕截图,并使用 Resemble.js 将其与基准图进行对比,以测试 RGB 像素差异。 PhantomCSS 然后生成图像差异对比,用于帮助您找到原因。

11. PhantomFlow

PhantomFlow 使用决策树提供 UI 测试方案。针对 PhantomJSCasperJS 和 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

更多精彩内容其他人还在看

Canvas实现放射线动画效果

本文主要分享了Canvas实现放射线动画的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

微信小程序 image组件binderror使用例子与js中的onerror区别

这篇文章主要介绍了微信小程序 image组件binderror使用例子与js中的onerror区别的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

原生js轮播(仿慕课网)

本文主要分享了原生js实现仿慕课网的轮播效果。具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

Bootstrap table简单使用总结

这篇文章主要为大家总结了Bootstrap table的简单使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

微信小程序之MaterialDesign--input组件详解

本篇文章主要介绍了微信小程序之MaterialDesign--input组件详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析javaScript中的浅拷贝和深拷贝

本篇文章主要介绍了浅析javaScript中的浅拷贝和深拷贝,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

js时间戳和c#时间戳互转方法(推荐)

下面小编就为大家带来一篇js时间戳和c#时间戳互转方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Bootstrap模态框使用详解

这篇文章主要为大家详细介绍了Bootstrap模态框的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Jil,高效的json序列化和反序列化库

下面小编就为大家带来一篇Jil,高效的json序列化和反序列化库。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

BootStrap实现带关闭按钮功能

这篇文章主要介绍了BootStrap实现带关闭按钮功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多