node.js - 如何减少这些之前/之后操作中的代码重复?
问题描述
我正在尝试对真实数据库进行集成测试,但我是 jest 和 knex 的新手。
这是我到目前为止所拥有的:
describe('FooRepository', () => {
let dbName;
let conn;
beforeAll(async () => {
conn = getConnection();
dbName = cryptoRandomString({ length: 5, characters: 'abcdefghijklmnopqrstuvwxyz' });
await conn.raw(`CREATE DATABASE ${dbName}`);
Model.knex(conn);
});
afterAll(async () => {
await conn.raw(`DROP DATABASE ${dbName}`);
await conn.destroy();
});
beforeEach(async () => {
await conn.migrate.latest();
});
afterEach(async () => {
await conn.migrate.rollback();
});
describe('getFooByID', () => {
// test getFooByID()
})
})
如何将此 dbName、conn 以及之前/之后的操作放入可重用的地方?谢谢
解决方案
您可以在全局范围内使用globalSetup
和globalTeardown
设置可以跨测试使用的东西。更多信息在这里 -
推荐阅读
- sql-server - 跨数据库视图的替代方案
- powershell - 计划任务不会以任何其他用户身份运行
- reactjs - NextJS SSR和CSR结合可能吗?
- outlook - ICS 文件生成 gmail/android
- view - 如何使用 bq cli 修改 GBQ MV?
- python - 如何使媒体管道姿势估计更快(python)
- javascript - 禁用 JSON 自动合并具有相同 ID 的数据
- ios - 从 API 中提取信息并将其打印在 Main StoryBoard 上
- postgresql - 当前季度 - Postgres
- reactjs - 如何根据反应中本地存储中的值更改来更改颜色