본문 바로가기

NestJs API 만들기

12. Testing 기본

package.json 파일을 보면 테스팅과 관련된 스크립트 test, watch, cov, debug, e2e 이렇게 5가지가 있다. 

jest는 자바스크립트를 아주 쉽게 테스팅하는 npm 패키지이다. 파일 생성 시 파일명 뒤에 .spec.ts가 붙은 파일들도 같이 생성되는데 .spec.ts는 테스트를 포함한 파일이다. jest가 .spec.ts 파일들을 찾아 볼 수 있도록 설정되어 있다.

 

 

 

 

 

 

 

 

 

 

 

movies.controller.spec.ts

import { Test, TestingModule } from '@nestjs/testing';
import { MoviesController } from './movies.controller';
import { MoviesService } from './movies.service';


describe('MovieController', () => {
  let controller: MoviesController;

  beforeEach(async () => {
    const module: TestingModule = await Test.createTestingModule({
      controllers: [MoviesController],
      providers : [MoviesService]
    }).compile();

    controller = module.get<MoviesController>(MoviesController);
  });

  it('should be defined', () => {
    expect(controller).toBeDefined();
  });
});

 

 

app.module.ts

import { Module } from '@nestjs/common';
import { MoviesModule } from './movies/movies.module';
import { AppController } from '../app.controller';
import { MoviesController } from './movies/movies.controller';
import { MoviesService } from './movies/movies.service';


@Module({
  imports: [MoviesModule],
  controllers: [AppController, MoviesController],
  providers: [MoviesService],
})
export class AppModule {}

 

파일 생성 시 자동 생성되었던 .spec.ts 파일을 모두 삭제한 상태이면 .spec.ts 파일만 따로 생성할 수 없기 때문에

위의 코드를 참고하여 생성 후 테스트를 진행핸다.

 

 

 

 

 

 

 

 

 

 

npm run test:cov 명령어 실행 시 코드가 얼마나 테스트가 되었는지와 안되었는지 알려준다.

 

 

 

 

 

 

 

 

 

 

npm run test:watch 명령어 실행 시 테스트 파일들을 찾아낸 후 무슨 일이 일어나는지 관찰하게 된다.

"a"를 누르면 모든 테스트를 실행한다.

 

 

 

 

 

 

 

 

 

hi-nest.z01
19.53MB
hi-nest.z02
19.53MB
hi-nest.z03
19.53MB
hi-nest.zip
5.26MB