NestJS에서의 자바스크립트 유닛 테스트 작성 방법

NestJS는 자바스크립트와 TypeScript로 작성된 서버 사이드 애플리케이션을 개발하기 위한 프레임워크입니다. 유닛 테스트는 개발자들이 코드의 품질을 검증하고 안정성을 보장하기 위해 필수적인 단계입니다. 이번 블로그 포스트에서는 NestJS에서 자바스크립트로 유닛 테스트를 작성하는 방법을 알아보겠습니다.

1. 의존성 설치

먼저, 테스트를 작성하기 위해 다음과 같은 의존성을 설치해야 합니다.

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

2. 테스트 파일 생성

테스트 파일은 .spec.js 또는 .test.js 확장자로 저장되어야 합니다. 테스트 파일을 생성한 후, 필요한 모듈을 임포트합니다.

const { Test } = require('@nestjs/testing');
const { MyService } = require('./my.service');

3. 테스트 작성

테스트를 작성하기 전에, 테스트할 서비스나 컨트롤러 등을 DI(Dependency Injection) 컨테이너에 등록해야 합니다.

describe('MyService', () => {
  let service;

  beforeEach(async () => {
    const moduleRef = await Test.createTestingModule({
      providers: [MyService, /* 추가적으로 테스트할 서비스 등 추가 */],
    }).compile();

    service = moduleRef.get(MyService);
  });

  it('should return "Hello, world!"', () => {
    const result = service.sayHello();
    expect(result).toBe('Hello, world!');
  });
});

위의 예제에서는 MyService를 테스트하고 있습니다. beforeEach 함수를 사용하여 테스트 실행 전에 필요한 모듈을 초기화합니다. 그리고 실제 테스트를 작성하고 toBe 메서드를 사용하여 예상되는 결과와 일치하는지 검증합니다.

4. 테스트 실행

테스트를 실행하려면 다음 커맨드를 실행하세요.

npx jest

Jest는 테스트 파일을 검색하고 실행하여 결과를 보여줍니다.

요약

이제 NestJS에서 자바스크립트로 유닛 테스트를 작성하는 방법을 알아보았습니다. 테스트를 작성함으로써 코드의 품질과 안정성을 높일 수 있습니다. NestJS와 Jest를 사용하여 생산성을 더욱 향상시키는 좋은 테스트 환경을 구축해보세요.

#NestJS #UnitTesting