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
'NestJs API 만들기' 카테고리의 다른 글
13. Unit Testing (0) | 2025.06.04 |
---|---|
11. REST API - Modules AND Dependency Injection (0) | 2025.05.21 |
10. REST API - DTO(Data Transfer Obejct) AND Validation (2) (0) | 2025.05.21 |
09. REST API - DTO(Data Transfer Obejct) AND Validation (1) (0) | 2025.05.21 |
08. REST API - Movies Service (2) (0) | 2025.05.20 |