我研究过并考虑过许多JavaScript单元测试和测试工具,但是没有找到一个合适的选项来保持完全兼容TDD.那么,有没有完全兼容TDD的JavaScript单元测试工具呢?
我研究过并考虑过许多JavaScript单元测试和测试工具,但是没有找到一个合适的选项来保持完全兼容TDD.那么,有没有完全兼容TDD的JavaScript单元测试工具呢?
Karma是一个用Node构建的JavaScript测试运行程序.js,用于单元测试.
protractor 用于端到端测试,并使用Selenium Web驱动程序驱动测试.
这两个都是由Angular团队制作的.您可以使用任意一个断言库.
related:
pros:
Cons:
我完全没有资格 comments 摩卡咖啡.js的特点、优势和劣势,
其网站报道的功能列表:
它不再存在,改为重定向到sequential.js
Yolpo是一个可视化javascript执行的工具.Javascript API开发人员被鼓励编写他们的用例来展示和讲述他们的API.此类用例构成回归测试的基础.
具有ES2015内置支持的future 测试运行程序.尽管JavaScript是单线程的,但IO在 node 中.由于其异步性质,js可以并行发生.艾娃利用了这一点,并同时运行您的测试,这对于IO繁重的测试尤其有益.此外,测试文件作为独立的进程并行运行, for each 测试文件提供了更好的性能和独立的环境.
一个用Node构建的JavaScript测试运行程序.js.非常模块化和灵活.它有自己的断言库,但如果愿意,可以添加自己的断言库.assertions library是解耦的,所以你也可以和其他测试 run 者一起使用.它没有使用assert(!...)
或expect(...).not...
,而是使用refute(...)
,这是一个很好的扭转.
浏览器JavaScript测试工具包.它通过浏览器自动化(想想JsTestDriver)进行浏览器测试,昆特风格的静态HTML页面测试,在无头浏览器(PhantomJS、jsdom等)中进行测试,还有更多.看看the overview!
一个Node.js测试工具包.您可以获得相同的测试用例库、断言库等.这对于混合浏览器和Node.js代码来说也很棒.使用巴斯特.js编写测试用例,并在Node.js和真正的浏览器中运行它.
放映时间:巴斯特.js Getting started(2:45)
pros:
Cons:
*TestSarm也是持续集成服务器,而巴斯特.js需要单独的CI服务器.但是,它可以输出xUnit XML报告,因此应该很容易与Hudson、Bamboo或其他配置项服务器集成.
https://github.com/jquery/testswarm
测试群正式不再处于GitHub网页上所述的积极开发阶段.他们推荐Karma、browserstack runner或实习生.
这是一个行为驱动的框架(如下所述),可能会引起熟悉Ruby或Ruby on Rails的开发人员的兴趣.该语法基于在Rails项目中用于测试的RSpec.
茉莉花规范可以从html页面(以qUnit方式)或测试运行程序(作为Karma)运行.
茉莉花是一个用于测试JavaScript代码的行为驱动开发框架.它不依赖于任何其他JavaScript框架.它不需要DOM.
如果您有此测试框架的经验,请提供更多信息:)
项目主页:http://jasmine.github.io/
昆特专注于在浏览器中测试JavaScript,同时为开发人员提供尽可能多的便利.网站上的宣传语:
昆特是一个功能强大、易于使用的JavaScript单元测试套件.它被jQuery、jQuery UI和jQuery移动项目使用,能够测试任何通用JavaScript代码
昆特与测试群分享了一些历史(上图):
昆特最初由John Resig作为jQuery的一部分开发.2008年,它有了自己的主页、名称和API文档,允许其他人也使用它进行单元测试.当时它仍然依赖于jQuery.2009年的一次重写修复了这个问题,现在昆特完全独立运行.
家园计划:http://qunitjs.com/
另一个很棒的工具是"Test-Driven JavaScript Development"的作者克里斯蒂安·约翰森(Christian Johansen)的"sinon.js".最好用他自己来形容:
独立测试间谍、存根和模拟
实习生 Web site提供了与此列表中其他测试框架的直接特性比较.它提供了比任何其他基于JavaScript的测试系统更多的现成功能.
一个新的但非常强大的测试框架.它还允许基于快照的测试,这提高了测试速度,并在测试方面创造了新的动态
看看他们的一次谈话:https://www.youtube.com/watch?v=cAKYQpTC7MA
更好的是:Getting Started