参考文章 http://blog.lvscar.info/post/...

在编写前端测试代码的过程中, 几乎所有的测试框架都提供了根据功能、模块(module ,spec )来切分测试用例的设计, 由于测试代码简单,直接,直接反应API的特点,我们编写测试代码的体验很大程度上取决于所选用的断言库, 以下是我对目前几款主流断言库的选型分析笔记:

better-assert

  • C-style TDD 断言库

  • 由TJ Holowaychuk 发起

  • 目前Github上的有 : 131 star 14 fork

API 样例

assert('tobi' == user.name)
assert('number' == typeof user.age)

should.js

  • BDD 风格断言库

  • 同样由 TJ Holowaychuk 发起

  • 目前Github上的数据: 384 Star , 200 fork ( TJ放弃维护后由新开发者接手)

API样例

foo.should.be()
bar.should.have()
foo.should.bot.be()

expect.js

  • 追求极简的 BDD 风格断言库

  • 基于 should.js 简化

  • 目前Github上的数据: 926 star 135 fork

API样例

expect(foo).to.be()
expect(foo).to.eql()
expect(foo).to.be.a()
expect(foo).not.to.be.an()

chai

  • BDD/TDD 双模 ,同时支持 should / expect / assert 三种风格的断言库
    强大插件机制

  • chai-webdriver

  • Github上的数据1559 star 150 fork

API样例:

should style: foo.should.be.a()
expect style: expect(foo).to.be.a()  // 近Jasmine风格
assert style: assert.equal(foo, 'bar')

其他

  • Jasmine.js 测试框架中的断言库十分类似 Chai expectexpect.js ( Jasmine历史比前两者悠久).

  • assert 风格最保守 , should 风格需要修改prototype 最为激进。

  • 不考虑Node环境的话,Jasmine.js是好选择

  • 我目前倾向于 Mocha + Chai 的测试方案

【node测试系列】几款前端测试断言库(Assertions lib)的选型总结相关推荐

  1. 鼠标垫测试软件,百款鼠标垫测试(项目)

    介绍完以上鼠标垫产品,我们使用采用激光引擎和蓝影引擎的鼠标对鼠标垫的做工.手感.耐磨度以及兼容性做了一个简单的测试. 做工:所谓做工就是一款产品在制作过程中体现的质量和水平.从外设发烧友的角度理解,做 ...

  2. 百度一款前端图片合成工具库MI开源啦!

    什么是MI Mi全称mix-img,是一个前端图片合成工具库,它可以将多张图片和文字合成一个全新的图片.作为一个轻量级的图片合成解决方案,Mi支持多张图片并行加载合成,减少图片合成时间,提升前端开发者 ...

  3. iphone6 续航 测试软件,7款iPhone测试iOS13.6电池续航:结果耗电更严重了?

    苹果已经发布iOS13.6正式版,新增特色功能--远程发动汽车,而且还修补了Bug.有果粉甚至调侃,iOS13.6和iPhone都已经有了,就差一部宝马.那么iOS13.6续航表现到底如何呢?今天我们 ...

  4. 前端测试框架(学习之路)前言

    为什么需要单元测试 正确性:测试可以验证代码的正确性,在上线前做到心里有底 自动化:当然手工也可以测试,通过console可以打印出内部信息,但是这是一次性的事情,下次测试还需要从头来过,效率不能得到 ...

  5. 测试篇二:关于测试(mocha+karma)

    断言 node assert assert模块提供了一组简单的断言测试,可用于测试不变量. API文档 断言库 should.js API文档 测试框架(mocha) mocha(摩卡)是运行测试的工 ...

  6. 【 Apifox】一款前端开发、后端开发、测试人员连连叫好的开发工具

    Apifox官网地址:http://apifox.cn/a103abcc 前言 作为一名程序员,除了开发之外最重要的事就是测试了,谈到测试我们避免不了的事就是如何选择测试工具. 在后端开发我们经常配置 ...

  7. 前端测试框架Jest系列教程 -- Expect(验证)

    写在前面 在编写测试时,我们通常需要检查值是否满足某些条件,Jest中提供的expect允许你访问很多"Matchers",这些"匹配器"允许您验证不同的东西. ...

  8. 测试公开课资料系列02--Postman之chai.js断言应用

    前言  如果要挖井,就要挖到水出为止.    明晚公开课给大家讲讲如何用chai.js断言,有用过postman只会右侧点来自动生成断言代码,或在公 司应用postman的朋友们都来听听.  一.ch ...

  9. 前端测试简述及使用Karma/Mocha实现的集成测试栗子(Travis CI/Coverage)

    前端测试 开发类型 TDD (Test Driven Development),测试驱动开发 BDD (Behavior Driven Development),行为驱动开发 // add.js fu ...

最新文章

  1. PHP date()函数警告: It is not safe to rely on the system解决方法
  2. “星链”或成美军未来作战理念新载体
  3. 三层交换机能传递路由吗?_华为ensp三层交换机VLAN配置静态路由互通
  4. ubuntu突然连不上-调试方式
  5. 使用docker中的apline部署自己的golang的后端代码(添加制作静态服务器的注意点)...
  6. 【ClickHouse 技术系列】- ClickHouse 聚合函数和聚合状态
  7. 四个修改Docker默认存储位置的方法
  8. 【XSY2718】gift 分数规划 网络流
  9. 调整Linux磁盘分区大小
  10. Linux中mongodb定时远程备份
  11. Opencv_07 图像的像素值统计
  12. 突发奇想:用单片机开发一款最纯粹的智能水杯方案
  13. APICloud常用
  14. win10计算机的管理在哪里打开,Win10磁盘管理器
  15. c语言指针一步错步步错,一步错步步错,可是到底错在哪里
  16. czl蒻蒟的OI之路16
  17. 发布有礼!2015 Autodesk程序商店有奖发布活动拉开序幕
  18. Android应用开发病虫害识别,基于Android平台的枣虫害识别系统的设计与实现
  19. 理光Ricoh Aficio MP 2011LD 一体机驱动
  20. WordPress:自定义头像

热门文章

  1. 牛客网——10进制 VS 2进制
  2. sed行处理详解(交换行,合并行,删除行等)
  3. bs4 python解析html
  4. ps -ef和ps aux的区别
  5. discuz uc密码修改
  6. 编程名言(有些趣味性)
  7. loadrunner场景中按scenario和group执行的区别
  8. [转帖]如何在quartusII中调用modelsim-altera_百度文库
  9. 如何處理不同版本的 Gem 執行檔,以 Rake 0.9.0 地雷為例
  10. 如何画透明位图(转)