Using with MongoDB
With the Global Setup/Teardown and Async Test Environment APIs, Jest can work smoothly with MongoDB.
Use jest-mongodb Preset
Jest MongoDB provides all required configuration to run your tests using MongoDB.
- First install
@shelf/jest-mongodb
- npm
- Yarn
- pnpm
npm install --save-dev @shelf/jest-mongodb
yarn add --dev @shelf/jest-mongodb
pnpm add --save-dev @shelf/jest-mongodb
- Specify preset in your Jest configuration:
{"preset": "@shelf/jest-mongodb"}
- Write your test
const {MongoClient} = require('mongodb');describe('insert', () => {let connection;let db;beforeAll(async () => {connection = await MongoClient.connect(globalThis.__MONGO_URI__, {useNewUrlParser: true,useUnifiedTopology: true,});db = await connection.db(globalThis.__MONGO_DB_NAME__);});afterAll(async () => {await connection.close();});it('should insert a doc into collection', async () => {const users = db.collection('users');const mockUser = {_id: 'some-user-id', name: 'John'};await users.insertOne(mockUser);const insertedUser = await users.findOne({_id: 'some-user-id'});expect(insertedUser).toEqual(mockUser);});});
There’s no need to load any dependencies.
See documentation for details (configuring MongoDB version, etc).
