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

发布时间:2019-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【node测试系列】几款前端测试断言库(Assertions lib)的选型总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

参考文章 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)的选型总结全部内容,希望文章能够帮你解决【node测试系列】几款前端测试断言库(Assertions lib)的选型总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: