美文网首页
NodeJs测试框架-Mocha使用指南

NodeJs测试框架-Mocha使用指南

作者: 花式开心 | 来源:发表于2018-07-27 15:49 被阅读16次

    前言

    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
    

    测试结果如下


    测试结果

    可以看到我们的测试脚本中,有两个方法describeit.

    describe方法

    describe块称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称("加法函数的测试"),第二个参数是一个实际执行的函数

    it方法

    it块称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。它也是一个函数,第一个参数是测试用例的名称("1 加 1 应该等于 2"),第二个参数是一个实际执行的函数。

    相关文章

      网友评论

          本文标题:NodeJs测试框架-Mocha使用指南

          本文链接:https://www.haomeiwen.com/subject/tmxgmftx.html