른록노트
[Javascript] Jest - Using with MongoDB 본문
Using with MongoDB
Global Setup/Teardown 및 Async Test Environment API를 사용하여 Jest는 MongoDB와 원활하게 작동할 수 있습니다.
1. 먼저 @shelf/jest-mongodb를 설치하세요
Jest MongoDB는 MongoDB를 사용하여 테스트를 실행하는 데 필요한 모든 구성을 제공합니다.
npm i @shelf/jest-mongodb --save-dev
2. config를 수정하세요
jest.config.js`
---
module.exports = {
preset: '@shelf/jest-mongodb',
};
jest-mongodb-config.js
---
module.exports = {
mongodbMemoryServerOptions: {
binary: {
version: '4.0.3',
skipMD5: true,
},
autoStart: false,
instance: {},
},
};
3. 테스트 코드를 작성하세요
mongodb.test.js
---
const config = require('../config/key');
const {MongoClient} = require('mongodb');
const collectionName = 'test';
let connection;
let db;
beforeAll(async () => {
connection = await MongoClient.connect(config.mongoUrl, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
db = await connection.db();
});
afterAll(async () => {
await connection.close();
});
describe('mongodb insert 테스트', () => {
beforeEach(async () => {
await db.collection(collectionName).deleteMany({});
});
it('테스트 collection에 insert 테스트', async () => {
const users = db.collection(collectionName);
const mockUser = {
_id: 'some-user-id4',
name: 'John4',
email: 'test4@naver.com',
};
await users.insertOne(mockUser);
const insertedUser = await users.findOne({_id: 'some-user-id4'});
expect(insertedUser).toEqual(mockUser);
});
});
4. 테스트 실행
npm run test
참고사이트
공식사이트 Using with MongoDB v27.2
공식사이트 jest-mongodb
진행사항
```
초급
- 공식 홈페이지에서 개념정리
- 공식 홈페이지에서 튜토리얼 or 가이드 실습하기 (진행)
중반
- 실제로 프로젝트 만들기
- 프로젝트 진행하면서 API DOC 찾아보며 정리하기
후반
- 오픈소스 컨트리뷰트
```
반응형
Comments