用于TDD的JavaScript单元测试工具
我已经研究并考虑了许多JavaScript单元测试和测试工具,但是没有找到一个合适的选项保持完全TDD兼容。那么,是否有一个完全符合TDD标准的JavaScript单元测试工具?
Karma或
Protractor
Karma是一个用Node.js构建的JavaScript测试程序,用于单元测试。 量角器用于端到端测试,并使用Selenium Web Driver来驱动测试。 两者都是由Angular团队制作的。你可以使用任何你想要的断言库。 截图:Karma Getting started 有关: > Should I be using Protractor or Karma for my end-to-end testing? 专业: >使用node.js,从而兼容Win / OS X / Linux >扩展它以包装其他测试框架(Jasmine,Mocha,QUnit内置) > WebStorm插件 缺点: > not support NodeJS (i.e. backend)测试 Buster.js 使用Node.js构建的JavaScript测试运行器。非常模块化和灵活。它有自己的断言库,但你可以添加自己的,如果你喜欢。 assertions library是去耦的,所以你也可以使用它与其他测试跑者。而不是使用assert(!…)或expect(…)。不…,它使用refute(…)这是一个很好的扭曲imho。
截图:Buster.js Getting started(2:45) 专业: >使用node.js,从而兼容Win / OS X / Linux >扩展它以包装其他测试框架(JsTestDriver内置) > TextMate和Emacs集成 缺点: > Stil在beta,所以可以是越野车 * TestSwarm也是一个持续集成服务器,而您需要一个单独的CI服务器为Buster.js。但它输出xUnit XML报告,因此它应该很容易与Hudson,Bamboo或其他CI服务器集成。 TestSwarm https://github.com/jquery/testswarm TestSwarm正式不再在他们的GitHub网页上所述的积极发展。他们推荐Karma,browserstack-runner或者Intern。 BrowserSwarm 网站www.browserswarm.com已经死了,BrowserSwarm最近没有搜索结果。它似乎已经死了。 BrowserSwarm是一个来自appendTo,Sauce Labs和Internet Explorer团队的项目。它本质上是一个托管分支版本的TestSwarm。 除了TestSwarm的所有优点,BrowserSwarm已经将所有的浏览器连接到swarm并准备测试你的代码,因此不需要你自己添加客户端或维护安装的浏览器。还节省了设置和配置TestSwarm的麻烦。 Jasmine 这是一个客户端测试跑者,可能会对熟悉Ruby或Ruby on Rails的开发人员感兴趣。语法基于RSpec,用于在Rails项目中测试。
如果你有这个测试跑者的经验,请提供更多信息:) 项目主页:http://jasmine.github.io/ QUnit QUnit专注于在浏览器中测试JavaScript,同时为开发人员提供尽可能多的便利。从网站Blurb:
QUnit与TestSwarm共享一些历史(上面):
项目主页:http://qunitjs.com/ Sinon 另一个伟大的工具是sinon.js由Christian Johansen,作者的Test-Driven JavaScript Development.最好描述自己:
Intern Intern Web site提供了与此列表上其他测试框架的直接功能比较。它提供了比任何其他基于JavaScript的测试系统更多的功能。 mocha.js 我完全不合格评论mocha.js的功能,优势和弱点, 功能列表,由其网站报告: >浏览器支持 yolpo Yolpo是一个可视化JavaScript执行的工具。鼓励Javascript API开发人员编写他们的用例来显示和告诉他们的API。这样的用例形成回归测试的基础。 AVA 未来的测试运行器,内置支持ES2015。即使JavaScript是单线程的,Node.js中的IO也可能由于其异步性而并行发生。 AVA利用了这一点并同时运行测试,这对IO重型测试尤其有利。此外,测试文件作为单独的进程并行运行,为每个测试文件提供更好的性能和隔离的环境。 >最小和快速>简单的测试语法>同时运行测试>强制编写原子测试>没有隐式全局变量>每个测试文件的隔离环境>在ES2015中编写测试>承诺支持>发生器功能支持>异步功能支持>可观察支持>增强断言>可选TAP输出>清除堆栈跟踪 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |