node.js - 如何使用 Jest 在我的数据库中创建一个默认项目,以便我可以测试我的 API CRUD 操作?
问题描述
我有一个完整的 API 构建,它可以处理所有 CRUD 操作。我的 api 处理服务的创建。我正在使用带有我的 API 的 MYSQL 数据库,其中包含一个名为service
. 现在我希望能够插入一个模拟/默认服务对象,以便我可以在所有测试中运行相同的 服务对象,并在最后删除它,这样我就不会用冗余数据填充我的服务表。我希望该服务对象能够通过我几乎所有的测试,除了我的 Post 请求。我怎样才能用 Jest 做到这一点?
这是我的 service.test.js 文件中的内容
如何在所有测试之前创建服务对象并在所有测试之后将其删除并将其作为全局变量保存到我的文件中?
解决方案
Jest为您的问题/情况提供beforeAll
和afterAll
- beforeAll - 函数将在所有测试之前运行。
- afterAll - 函数将在所有测试后运行
代码结构:
...
beforeAll((done) => {
//Insert your mock data on database
});
afterAll((done) => {
//Delete your mock data from database
});
test('', async() => {
//Your test with database mock data
});
....
参考: 安装和拆卸 -> 一次性安装
推荐阅读
- java - java - 如何使用Java反射调用将可调用接口或方法作为参数的方法
- python - 每秒使用matpltlib在python中动态更新条形图
- wxpython - 有没有办法预先确定 wx.StaticText 中文本的大小?
- javascript - 如何通过函数同时传递事件和索引
- python - Django - 解包的值太多(预期 2)
- python - 如何在带有变量的bash中运行内联python?
- swift - 如何克隆具有不同实例的 scnnode?
- linux - 日期转换代码在不同机器上表现不同
- bash - 用于读取文件并获取数据库用户/通行证的 Bash 脚本
- go - 下载 go-redis 包时出现错误找不到包“github.com/go-redis/redis/v8”