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);
  });
});
无需加载任何依赖项。
See documentation for details (configuring MongoDB version, etc).