chai.js 是一套TDD(测试驱动开发)/BDD(行为驱动开发)的断言库。
可以在node和浏览器环境运行,可以高效的和任何js测试框架搭配使用。
BDD,行为驱动开发(注重测试逻辑),TDD是测试驱动开发(注重输出结果)。

文档

官网 http://chaijs.com/
API http://chaijs.com/api
中文API http://www.jianshu.com/p/f200...

断言风格

chai提供了三种断言风格来分别适用于BDDTDD

expect/should API 对应BDD风格,Assert API 对应TDD风格。

expect和should比较

expectshould都是BDD风格的,二者使用相同的链式语言来组织断言,但不同在于他们初始化断言的方式expect使用构造函数来创建断言对象实例,而should通过为Object.prototype新增方法来实现断言(所以should不支持IE);expect直接指向chai.expect,而should则是chai.should()

var chai = require('chai') ,
  expect = chai.expect ,
  should = chai.should()

个人比较建议使用expectshould不仅不兼容IE,在某些情况下还需要改变断言方式来填坑。详细的比较可以看看官网Assertion Styles,说的很清楚。


Tammy
111 声望14 粉丝

不易匠心方得始终