CodeSOD: 모듈 테스트 노트

CodeSOD: 모듈 테스트

TJ는 오래전에 퇴사한 개발자들의 코드를 가진 NestJS 프로젝트를 물려받았습니다. NestJS는 의존성 주입을 사용하는 TypeScript 프레임워크입니다. 코드를 컨트롤러, 프로바이더, 모듈로 구성합니다. 모듈은 중첩될 수 있어 유연한 의존성 구조를 만듭니다. 코드베이스의 ProjectsModule은 기본적이고 비어 있는 모듈의 예시입니다. 개발자들은 종종 자신의 코드에 대한 테스트를 작성하며, ProjectsModule에 대한 테스트 파일이 존재합니다. 이 테스트 파일은 ProjectsModule의 인스턴스를 생성하려고 시도합니다. 그러나 이 테스트는 단순히 모듈의 인스턴스를 생성하는 것으로, 의미 있는 테스트가 아닙니다. NestJS 모듈은 본질적으로 컨테이너이며, 동적 모듈은 생성 시점이 아닌 런타임에 코드를 실행합니다. 따라서 이 특정 테스트는 실제 기능을 검증하지 않고 항상 통과할 것입니다. 코드 커버리지에 기여하거나 모듈의 구성 요소를 확인하지 않는 비-테스트로 간주됩니다. 비효율성에도 불구하고 TJ는 테스트의 존재를 인지합니다.