NodeJs测试框架-Mocha使用指南
前言
Mocha(摩卡)是NodeJs的一个简单、可扩展、快速的测试库,适合编写单元测试和集成测试。这篇文章将引导大家如何完成Mocha的安装,配置和编写测试用例。
开始
准备工作
选一个你喜欢的文件夹,在这个目录下打开命令行,依次输入下列命令
mkdir test_demo
cd test_demo
使用Node官方提供的包管理工具 - npm,帮助我们建立一个空项目,使用
npm init
之后,会引导我们创建一个package.json文件。
npm init
//package.json
{
"name": "test_demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
我们的项目还需要一个包含项目代码的app目录和包含mocha测试文件的test目录。
mkdir app
mkdir test
最后,我们的项目结构应该是这样的
安装
#局部安装
npm install mocha -S
#全局安装
npm install mocha -g
npm install chai -S
chai是一个比node官方Assert库更强大的断言库,后边也会介绍使用方法。
测试接口,需要给服务器发送请求,resuest
库是一个不错的选择,当然你也可以选择axios和fetch。
npm install request -S
最后,安装express
框架,用于开发web应用程序。
npm install express -S
配置
我们需要在package.json
文件中创建test命令,如果不知道的同学可以看阮一峰大佬的这篇文章npm scripts 使用指南.
修改完的package.json如下所示,注意scripts字段,当我们在项目根目录下运行npm test
就会运行我们的测试脚本。
{
"name": "test_demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "./node_modules/.bin/mocha"
},
"author": "",
"license": "ISC",
"dependencies": {
"chai": "^4.1.2",
"express": "^4.16.3",
"mocha": "^5.2.0",
"request": "^2.87.0"
}
}
编写测试用例
下面我们来写一个简单的测试用例。
创建测试脚本,在项目根目录下运行该命令
touch test/test1.js
//test1.js
var {expect}=require("chai");
describe("运算",function(){
it("加法",function(){
expect(1+1).to.equal(2);
})
it("减法",function(){
expect(4-3).to.equal(2);
})
})
运行测试脚本
npm test test/test1.js
测试结果如下
测试结果
可以看到我们的测试脚本中,有两个方法describe
和it
.
describe方法
describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数
it方法
it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称("1 加 1 应该等于 2"),第二个参数是一个实际执行的函数。