测试利器Mocha 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

断言

断言(assert)指的是对代码行为的预期。一个测试用例内部,包含一个或多个断言(assert)。

断言会返回一个布尔值,表示代码行为是否符合预期。测试用例之中,只要有一个断言为false,这个测试用例就会失败,只有所有断言都为true,测试用例才会通过。

比如上节示例中的:

assert.equal(-1, [1,2,3].indexOf(5));

assert.equal(-1, [1,2,3].indexOf(0));

实际值(-1)期望值([1,2,3].indexOf(5))是一样的,断言为true,所以这个测试用例成功了。

mocha 允许开发者使用任意的断言库,当这些断言库抛出了一个错误异常时,mocha将会捕获并进行相应处理。这意味着你可以利用如 should.js断言库、 Node.js 常规的 assert 模块或其它类似的断言代码库。以下是众所周知的适用于Node.js或浏览器的断言库:

  • should.js
  • expect.js
  • chai.js
  • better-assert
  • assert:nodejs原生模块,在前文示例中我们有应用到。

PS:由于Mocha自身不带断言库,所以我们需要引入一个断言库。本课程中使用的是chai.js,为什么会选这个断言库呢?