译:你该运用什么单元测试,Qunit、Jasmine照样Mocha?

不管你是在写浏览器端javascript照样后端的nodejs,总存在那末一个题目:我该运用什么单元测试库去确保我的代码如预期的运转呢?总是有那末一些盛行的框架可供挑选。假如你正在斟酌Qunit、Jasmine或许Mocha,那末正好我这有一些他们的优瑕玷信息引见,你可以感兴趣。

Qunit

qUnit是我列举出中最老的一个框架,08年正式宣布。因为时候缘由,跟着时候积累了一些用户。在Jquery中依然盛行,而且具有来自很多地方性的支撑。

它生长的怎样呢?真的不让人惬意。

特性

大批的支撑,从Q&A到CI服务器支撑

瑕玷

  1. 语法不流通

  2. 设置使人头疼,必需延续保护

  3. 引入第三库比较难题

  4. 异步测试难题

  5. No baked-in headless run support(待译)

Jasmine

Jasmine是轻微新一点的框架,于qUnit宣布后的2年2010年宣布。这是一个有充足时候生长的框架,但是仍要进修其他javascript框架。它的初志是易于装置和适用于任何场景。大多数场景下,它的运转须要Karma或Chutzpah,除了一些刊行版本(如jasmine-node npm)有内建的runner。

它的远景怎样呢?关于你想要的大多数场景来讲,它是非常棒的。异步代码是重要的题目。

特性

  1. 关于node来讲经由过程jasmine-node是很好装置的

  2. Headless running out of the box(待译)

  3. 内置流通美丽的语法,圆满兼容别的测试库

  4. 有很多CI服务器(如TeamCityp,CodeShip等)和一些自身不支撑插件的服务器支撑

  5. 可描述性的BDD类型

瑕玷

  1. 异步测试有些贫苦

  2. 一切测试文件都有个确实的后缀(默许*spec.js)

Mocha

Mocha专为nodeJS的模块构建,2012宣布严重版本。它的API与Jasmine非常像,多了一些语法糖去适用于更多的场景,如BDD。内建有runner,所以你不必费心runner了。与jasmine差别,它对异步代码的测试有很好的支撑,经由过程挪用done函数。假如你的测试运用它,直到done挪用了test才经由过程。假如没有挪用它,当test要领的代码实行完test才经由过程。

我对它的印象是,非常合适我!

特性

  1. 易于装置

  2. Headless running out of the box

  3. 许可任何可以抛出失利非常测试库的运用

  4. 部份CI服务器和别的插件的支撑

  5. 功能上更多是面向行动驱动开辟或许行动面向测试驱动开辟

  6. 高扩展性

  7. 易如反掌的举行异步测试

瑕玷

  1. 较新的范畴,部份范畴缺乏支撑

原文链接

    原文作者:Blcover
    原文地址: https://segmentfault.com/a/1190000006217487
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞