在typescript-node项目中配置jest-mongodb (@shelf/jest-mongodb),可以按照以下步骤进行:
npm install --save-dev jest @shelf/jest-mongodb
jest.config.js
文件,并添加以下配置:module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
setupFilesAfterEnv: ['./node_modules/@shelf/jest-mongodb/setup.js'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},
};
这里使用了ts-jest
预设来支持TypeScript,设置了测试环境为node,配置了setupFilesAfterEnv
来加载@shelf/jest-mongodb
的setup文件。
@shelf/jest-mongodb
提供的一些全局函数和变量来进行MongoDB的测试。例如,可以使用mongoServer
全局变量来启动一个临时的MongoDB服务器,以便在测试中使用。以下是一个示例:import { MongoMemoryServer } from 'mongodb-memory-server';
import { MongoClient } from 'mongodb';
let mongoServer: MongoMemoryServer;
let connection: MongoClient;
beforeAll(async () => {
mongoServer = new MongoMemoryServer();
const mongoUri = await mongoServer.getUri();
connection = await MongoClient.connect(mongoUri, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
});
afterAll(async () => {
await connection.close();
await mongoServer.stop();
});
test('example test', async () => {
// 在这里编写测试代码,可以使用connection来访问临时的MongoDB服务器
});
在这个示例中,我们在beforeAll
钩子函数中启动了一个临时的MongoDB服务器,并在afterAll
钩子函数中关闭连接和停止服务器。在测试中,可以使用connection
来访问临时的MongoDB服务器。
这样,你就可以在typescript-node项目中配置jest-mongodb (@shelf/jest-mongodb)了。记得根据实际情况修改配置和编写测试代码。
领取专属 10元无门槛券
手把手带您无忧上云