chai
Chai是用于节点和浏览器的BDD / TDD断言库,可以与任何javascript测试框架完美地配对。
什么是BDD/TDD
TDD: Test-driven development (测试驱动开发)
是一种使用自动化单元测试来推动软件设计并强制依赖关系解耦的技术。使用这种做法的结果是一套全面的单元测试,可随时运行,以提供软件可以正常工作的反馈。
BDD:Behavior-Driven Development (行为驱动开发)
BDD将TDD的一般技术和原理与领域驱动设计(DDD)的想法相结合。 BDD是一个设计活动,您可以根据预期行为逐步构建功能块。
BDD的重点是软件开发过程中使用的语言和交互。
行为驱动的开发人员使用他们的母语与领域驱动设计的语言相结合来描述他们的代码的目的和好处。
使用chai
运行$ npm install chai
在使用的地方添加chai
import chai from 'chai'
const expect= chai.expect
3种语句所表现出来的功能都是一样的,根据自己的习惯选择(BDD强调使用自然语言)
expect(foo).to.be.a('string');
//期望foo是一个string
expect(foo).to.equal('bar');
//期望foo等于bar
expect(foo).to.have.lengthOf(3);
//期望foo有lengthOf(3)
expect(tea).to.have.property('flavors')
.with.lengthOf(3);
//期望tea拥有属性 flavors 并且有lengthOf(3)
如果控制台没报错,表示测试通过