코딩/TestCode

Mocking

춘 몽 2024. 4. 27. 01:24

- 가짜 데이터를 사용하는 방식으로 주로 DB에 실제로 데이터를 넣지 않기 위한 대체용으로 사용된다.

 

가짜 서비스 (MockingService)를 만들고, 

providers 부분의 useClass에 MockingService를 넣어준다.

import { AppController } from './app.controller';
import { AppService } from './app.service';
import { Test, TestingModule } from '@nestjs/testing';

class MockAppService {
  getHello(): string {
    return '나는 가짜다!!!';
  }
}

describe('AppController', () => {
  let appController: AppController;

  beforeEach(async () => {
    const app: TestingModule = await Test.createTestingModule({
      controllers: [AppController],
      providers: [
        {
          provide: AppService,
          useClass: MockAppService,
        },
      ],
    }).compile();

    appController = app.get<AppController>(AppController);
  });

  describe('getHello', () => {
    it('이 테스트의 검증 결과는 Hello World를 리턴해야함!!!', () => {
      expect(appController.getHello()).toBe('Hello World!');
    });
    // it("테스트 2", () => {
    //     expect().toBe()
    // })
  });

  // describe('fetchboards', () => {

  // })

  // describe('createBoard', () => {

  // })
});

이렇게 하고 테스트를 돌려보면

이렇게 MockingService가 실행되는 모습이다.

'코딩 > TestCode' 카테고리의 다른 글

Jest  (1) 2024.04.27