Nestjs Jest를 사용하여 코드를 테스트하는 방법

Jest를 사용하여 코드를 테스트하면 많은 이점이 있습니다.
  1. 사용하기 쉬움: Jest는 간결한 API와 친숙한 명령줄 인터페이스를 제공하므로 테스트 코드를 작성하고 실행하는 것이 매우 쉽습니다. 어설션 구문은 명확하고 간결하여 테스트 사례 작성에 드는 노력을 줄여줍니다.

  2. 자동화 및 통합: Jest는 테스트 케이스를 자동으로 실행하고 풍부한 보고서와 통계를 제공할 수 있습니다. 또한 지속적인 통합 도구(예: Jenkins, Travis CI 등)와 통합되어 테스트 프로세스를 보다 자동화되고 안정적으로 만들 수도 있습니다.

  3. 빠르고 효율적: Jest는 테스트 케이스를 병렬로 실행하는 전략을 채택하여 많은 양의 테스트 코드를 더 빠르게 실행할 수 있습니다. 또한 Jest는 지능형 파일 모니터링 기능을 갖추고 영향을 받는 테스트 케이스만 실행하므로 개발 효율성이 향상됩니다.

  4. 풍부한 내장 기능: Jest에는 조롱, 커버리지 보고, 스냅샷 테스트 등과 같은 많은 내장 기능이 있습니다. 이러한 기능을 사용하면 포괄적인 테스트 모음을 더 쉽게 작성할 수 있으며 코드를 더 잘 이해하고 유지 관리하는 데 도움이 됩니다.

  5. 커뮤니티 지원: Jest는 대규모 커뮤니티 지원을 받는 매우 활동적인 오픈 소스 프로젝트입니다. 커뮤니티에서 풍부한 리소스, 학습 자료, 질문과 답변을 얻을 수 있으므로 Jest를 테스트 개발에 더 잘 사용할 수 있습니다.

1. Jest 및 관련 종속성 설치

npm install --save-dev @nestjs/testing jest

2. 테스트 폴더 생성: 테스트 파일을 저장할 프로젝트의 루트 디렉터리에 testor 라는 tests폴더를 생성합니다.

3. 테스트 케이스 작성: 일반적 으로 또는 test로 이름이 지정된 폴더에 테스트 파일을 만듭니다 . 테스트 파일에 테스트 사례 작성<filename>.spec.ts<filename>.test.tsapp.controller.spec.ts

다음은 간단한 예입니다.

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

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

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

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

  describe('root', () => {
    it('should return "Hello World!"', () => {
      expect(appController.getHello()).toBe('Hello World!');
    });
  });
});

4. 테스트 실행: 명령줄에서 명령을 실행하여 jest테스트를 실행합니다.

npx jest

 Jest는 모든 테스트 케이스를 실행하고 실행 결과를 출력합니다.

위의 단계를 통해 NestJS에서 코드 테스트에 Jest를 사용할 수 있습니다. 다양한 상황에서 코드가 올바르게 작동하는지 확인하기 위해 추가 테스트 사례를 작성하고 실행할 수 있습니다. 테스트는 코드 품질과 안정성을 보장하는 중요한 수단입니다. 테스트에 Jest를 사용하면 NestJS 애플리케이션을 더 잘 개발하고 유지하는 데 도움이 될 수 있습니다.

Supongo que te gusta

Origin blog.csdn.net/wuzhangting/article/details/132472157
Recomendado
Clasificación