node单元测试

简介: node单元测试基本介绍与使用

node中的断言(assert 模块

assert: Node 原生支持的断言模块 支持 TDD

node.js 测试用例中基本语法, 主要有以下4个基本语句:

  • describe: 定义一个测试套件
  • it:定义一个测试用例
  • expect:断言的判断条件
  • toEqual:断言的比较结果

const assert = require('assert')

const sum = require('./hello')


assert.ok(sum(12)); //测试 value 是否为真值。它等同于 assert.equal(!!value, true, message)。

assert.equal(sum(1,1), 1); //测试 sum(1,1) 是否==1

assert.strictEqual(sum(),0) //测试 sum() 是否===0


mocha安装与使用介绍

优质文档:https://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html

mocha安装

Mocha的作用是运行测试脚本,首先必须学会写测试脚本。所谓"测试脚本",就是用来测试源码的脚本。

npm install --global mocha 全局安装

通常,测试脚本与所要测试的源码脚本同名,但是后缀名为.test.js(表示测试)或者.spec.js(表示规格)。比如,add.js的测试脚本名字就是add.test.js

mocha使用

mocha测试用例钩子

describe('hooks', function() {


 before(function() {

   // 在本区块的所有测试用例之前执行

 });


 after(function() {

   // 在本区块的所有测试用例之后执行

 });


 beforeEach(function() {

   // 在本区块的每个测试用例之前执行

 });


 afterEach(function() {

   // 在本区块的每个测试用例之后执行

 });


 // test cases

});

搭配superTest测试接口

// 测试接口

const request = require("supertest")

const assert = require("assert")


let url = "http://127.0.0.1:8000"


describe('接口验证', function () {

   beforeEach(function () {

       console.log('开始测试');

   })


   it('test接口测试', function (done) {

       // 之所以这个测试的 function 要接受一个 done 函数,是因为我们的测试内容

       // 涉及了异步调用,而 mocha 是无法感知异步调用完成的。所以我们主动接受它提供

       // 的 done 函数,在测试完毕时,自行调用一下,以示结束。


       request(url)

           // .query 方法用来传 querystring,.send 方法用来传 body。

           // 它们都可以传 Object 对象进去。

           .get('/test')

           .expect(200)

           .end(function (err, res) {

               console.log(res.body);//拿到响应内容

               console.log(res.text);//字符串化

               done(err)

           })

   })

})

目录
相关文章
|
6月前
|
前端开发 测试技术
Node 单元测试
Node 单元测试
37 0
|
数据采集 Web App开发 JavaScript
Node.js躬行记(25)——Web自动化测试
Node.js躬行记(25)——Web自动化测试
Node.js躬行记(25)——Web自动化测试
|
JavaScript 前端开发 NoSQL
【Node.js实战】一文带你开发博客项目之初识Koa2(koa2安装使用、搭建开发环境、测试路由)
【Node.js实战】一文带你开发博客项目之初识Koa2(koa2安装使用、搭建开发环境、测试路由)
436 0
|
缓存 JSON 数据格式
手搓一个node测试接口小工具!
这些库需要安装,我想着搞一个命令行交互式的,可以快捷测试接口,类似于curl那种,只不过我的工具更加傻瓜式。
133 0
手搓一个node测试接口小工具!
|
JavaScript 前端开发 C++
Node.js:Jest测试框架测试test代码
Node.js:Jest测试框架测试test代码
179 0
Node.js:Jest测试框架测试test代码
|
存储 Web App开发 JavaScript
Node.js躬行记(28)——Cypress自动化测试实践
Node.js躬行记(28)——Cypress自动化测试实践
|
数据采集 JavaScript 前端开发
Node.js 有哪些可以运用的测试框架?
Node.js 有哪些可以运用的测试框架?
163 0
|
JavaScript 前端开发 Windows
前端 --- Node.js的安装及测试
前端 --- Node.js的安装及测试
前端 --- Node.js的安装及测试
|
机器学习/深度学习 算法 Ubuntu
使用CatBoost和NODE建模表格数据对比测试
使用CatBoost和NODE建模表格数据对比测试
177 0
使用CatBoost和NODE建模表格数据对比测试
|
JavaScript
Node.js:faker生成虚拟测试数据
Node.js:faker生成虚拟测试数据
192 0