几款前端测试断言库(Assertions lib)的选型总结

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

better-assert

API 样例

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

should.js

API样例

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

expect.js

API样例

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

chai

API样例:

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

其他