Practical Node.js (2018版) 第3章:测试/Mocha.js, Chai.js, Expect.js

时间:2023-08-05 19:07:56

TDD and BDD for Node.js with Mocha

TDD测试驱动开发。自动测试代码。

BDD: behavior-driven development行为驱动开发,基于TDD。一种自然化的测试语言。

例如,使用expect(response.status).to.equal(200)代替了TDD的assert.equal(response.status, 200)

Mocha文档:https://mochajs.org/

chai: 官网文档:  https://www.chaijs.com/

Node.js文档: https://nodejs.org/api/async_hooks.html

Mocha阮一峰的测试框架 Mocha 实例教程
Chai断言库可以看Chai.js断言库API中文文档

Mocha  摩卡☕️

(点击连接看git)(方法:文档)

本章介绍:比较流行的javascript test framework for Node.js和browser: mocha

涉及以下方面:

  • 安装理解Mocha
  • TDD的assert。
  • BDD的expect.js模块。
  • Project: 为上个章节的Blog app写一个测试。

Installing and Understanding Mocha(17000✨)

Mocha是成熟的强大的测试框架。全局安装

$ npm install –-global mocha 

驱动测试开发基本步骤:

  1. 写测试
  2. 写让测试通过的代码
  3. 确认测试通过,并重复1,2步骤。

BDD是TDD的特色版本。它使用单元测试,逐步满足商业需求。

Node.js核心模块是assert。但是,使用明确的testing library更好。

本章使用Mocha测试框架,让许多事情变得更"free",因为Mocha可以:

  • Reporting
  • 异步支持
  • 丰富的可配置性
  • 通知Notifications
  • Debugger 支持
  • 常用的交互:before, after钩子
  • 文件watcher支持。

使用Mocha有更多的功能和好处。这里有一个选项参数名单,使用$ mocha [options]命令。

全的list:mocha -h

例如:

mocha test-expect.js -R nyan

Practical Node.js (2018版) 第3章:测试/Mocha.js, Chai.js, Expect.js

选择一个框架的类型,有很多选择。Mocha是作者推荐的一个,有17k✨。除此之外还有以下选择: