用于 TDD 的 JavaScript 单元测试工具摩卡.js
我已经研究并考虑了许多JavaScript单元测试和测试工具,但无法找到合适的选项来保持完全符合TDD。那么,有没有一个完全符合TDD标准的JavaScript单元测试工具呢?
我已经研究并考虑了许多JavaScript单元测试和测试工具,但无法找到合适的选项来保持完全符合TDD。那么,有没有一个完全符合TDD标准的JavaScript单元测试工具呢?
Karma是一个使用Node构建的JavaScript测试运行器.js,用于单元测试。
量角器用于端到端测试,并使用 Selenium Web 驱动程序来驱动测试。
两者都是由Angular团队制作的。您可以使用所需的任何断言库。
截屏视频:业力入门
相关:
优点:
缺点:
我完全没有资格评论mocha.js的功能,优点和缺点,但它只是由我在JS社区中信任的人推荐给我的。
功能列表,如其网站报道:
这不再存在,而是重定向到顺序.js
Yolpo是一个可视化JavaScript执行的工具。我们鼓励 JavaScript API 开发人员编写他们的用例来展示和讲述他们的 API。此类用例构成了回归测试的基础。
未来派测试运行器,内置对 ES2015 的支持。尽管JavaScript是单线程的,但Node.js中的I / O由于其异步性质而可以并行发生。AVA 利用了这一点并同时运行测试,这对于 I/O 密集型测试特别有用。此外,测试文件作为单独的进程并行运行,从而为您提供更好的性能和每个测试文件的隔离环境。
使用 Node 构建的 JavaScript 测试运行程序.js。非常模块化和灵活。它带有自己的断言库,但如果您愿意,可以添加自己的断言库。断言库是分离的,因此您也可以将其与其他测试运行程序一起使用。而不是使用 或 ,它使用这是一个不错的转折恕我直言。assert(!...)
expect(...).not...
refute(...)
浏览器 JavaScript 测试工具包。它使用浏览器自动化(想想JsTestDriver),QUnit样式的静态HTML页面测试,无外设浏览器(PhantomJS,jsdom等)进行测试进行浏览器测试。看看概述!
节点.js测试工具包。您将获得相同的测试用例库,断言库等。这对于混合浏览器和Node.js代码也非常有用。编写测试用例,并在 Node.js 和真实浏览器中运行它。
Buster.JS
截屏视频: 巴斯特.js 入门 (2:45)
优点:
缺点:
* TestSwarm 也是一个持续集成服务器,而您需要一个单独的 CI 服务器。但是,它确实会输出xUnit XML报告,因此应该很容易与Hudson,Bamboo或其他CI服务器集成。Buster.js
https://github.com/jquery/testswarm
TestSwarm正式不再像GitHub网页上所说的那样处于积极开发状态。他们推荐Karma,browserstack-runner或Intertern。
这是一个行为驱动的框架(如下面的引文所述),熟悉Ruby或Ruby on Rails的开发人员可能会感兴趣。该语法基于用于在 Rails 项目中进行测试的 RSpec。
Jasmine 规范可以从 HTML 页面(以 qUnit 方式)或从测试运行程序(作为 Karma)运行。
Jasmine是一个行为驱动的开发框架,用于测试你的JavaScript代码。它不依赖于任何其他JavaScript框架。它不需要 DOM。
如果您有使用此测试框架的经验,请提供更多信息,:)
项目首页:http://jasmine.github.io/
QUnit专注于在浏览器中测试JavaScript,同时为开发人员提供尽可能多的便利。来自网站的简介:
QUnit 是一个功能强大、易于使用的 JavaScript 单元测试套件。它由jQuery,jQuery UI和jQuery Mobile项目使用,并且能够测试任何通用JavaScript代码。
QUnit与TestSwarm分享了一些历史(上图):
QUnit最初由John Resig开发,作为jQuery的一部分。2008年,它有自己的主页,名称和API文档,允许其他人使用它进行单元测试。当时它仍然依赖于jQuery。2009年的重写修复了这个问题,现在QUnit完全独立运行。QUnit的断言方法遵循CommonJS单元测试规范,该规范在一定程度上受到QUnit的影响。
项目首页:http://qunitjs.com/
另一个很棒的工具是sinon.js作者Christian Johansen,他是Test-Driven JavaScript Development的作者。最好由他自己描述:
JavaScript 的独立测试间谍、存根和模拟。任何依赖项都不适用于任何单元测试框架。
Intern 网站提供了与此列表中的其他测试框架的直接功能比较。它提供了比任何其他基于JavaScript的测试系统更多的开箱即用功能。
一个新的但非常强大的测试框架。它还允许基于快照的测试,这提高了测试速度,并在测试方面创建了一个新的动态。
看看他们的演讲之一:https://www.youtube.com/watch?v=cAKYQpTC7MA
更好的是:入门
看看 Dojo 对象工具 (DOH) 单元测试框架,它几乎是用于 JavaScript 单元测试的框架独立工具,没有任何 Dojo 依赖项。在使用 Dojo Objective Harness 的 Web 2.0 应用程序进行单元测试时,对它有一个很好的描述。
如果你想自动化UI测试(许多开发人员的痛点) - 请查看doh.robot(临时关闭,更新:其他链接 http://dojotoolkit.org/reference-guide/util/dohrobot.html)和dijit.robotx(临时关闭)。后者是为验收测试而设计的。更新:
参考文章介绍了如何使用它们,如何模拟使用鼠标和/或键盘与 UI 交互的用户,以及如何录制测试会话,以便以后可以自动“播放”它。