node—使用中间件jest和supertest进行对api接口的测试

本文介绍如何利用Jest和Supertest对基于Koa的API接口进行单元测试,包括安装必要中间件、配置测试环境、编写测试用例等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用jest和supertest进行对api接口的测试

要使用koa脚手架创建项目,koa-generator中间件,我自己创建的项目程序入口是app.js,而脚手架创建的是在bin/www

**安装:**npm install -g koa-generator

命令: koa2+项目名生成项目

自己创建项目时进行测试时出现了这两个报错,使用脚手架创建的项目就没有出错

Snipaste_2020-07-03_09-50-22.png

Snipaste_2020-07-03_09-51-49.png

1、在package.json中添加test,需要使用到中间件cross-env,动态配置开发,测试,生产三种对应域名及其及打包命令。使用cross-env可以让配置环境更加清晰明了还好管理,

2、安装中间件supertest,对api接口测试需要使用supertest,使用expert断言,supertest是一个非常好的适用于node的模拟http请求的库。

3、中间件nodemon作用是每次修改后不需要自己手动重启项目

4、“test”中 --runInBand指一个一个往下执行,–foreExit指执行完退出,–colors指使用颜色输出

5、中间件jest,测试文件后缀必须是.test.js的,会自动扫描test文件夹下的后缀是.test.js文件进行测试

安装: npm install --save-dev cross-env

安装: npm install --save-dev supertest

安装: npm install --save-dev jest

Snipaste_2020-07-03_09-15-50.png

Snipaste_2020-07-03_09-28-47.png

文件server.js

//对api接口测试需要使用supertest,使用expert断言,supertest是一个非常好的适用于node的模拟http请求的库
const request = require('supertest')
//引入产生请求的程序入口app.js
const server = require('../app').callback()

module.exports = request(server)

文件demo.test.js——使用jest进行单元测试,文件后缀必须是test.js

const server = require('./server.js')

//测试get请求(测试routes/index.js下的'/')
test('返回的数据格式正确', async () => {
    const res = await server.get('/')
    //添加断言toEqual是比较对象的,toBe比较值
    /*  expect(res.body).toEqual({
        title: 'Hello Koa!'
     }) */
    expect(res.body.title).toBe('Hello Koa!')
})
//测试普通方法
function sum(a, b) {
    return a + b
}
test('30', () => {
    const res = sum(10, 20)
    expect(res).toBe(30)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值