[TIL] NestJS 공부 - Test

Spec 파일이란?

NestJS를 사용하는 이유 중 하나인 테스트 지원이다.
NestJS를 이용하여 controller를 만들어보면 controller.ts파일 외에 다른 파일 하나가 추가된다.
같은 ts파일인데 아이콘의 색깔이 다를 뿐더러 가끔 들어가보면 에러가 발생할 때도 있다.
그리고 들어가보면 알 수 없는 문법으로 작성된 코드를 확인할 수 있다. 이 코드들은 뭘까?

Spec 파일 소개

이는 테스트 파일인데, 보통 .spec 또는 .test등으로 분류된다.
그리고 저 테스트 파일은 유닛 테스트라는 제일 작은 범위의 테스트코드이다.
(유닛 테스트와 단위 테스트는 같은 말입니다)

하지만 우리가 파일을 생성한 후 안에 추가적인 코드를 작성하듯이 테스트 파일도 기존 파일을 수정한대로 한번 더 수정해줘야하는데 여기서 describeit 등 알 수 없는 부분이 있는데 파일을 수정하는 것 보다는 파일을 한번 더 알고 수정하는 편이 더 도움이 될 것이다.

그럼에도 불구하고 만약 파일을 테스트하고싶다면

npm i --save-dev @nestjs/testing

을 작성하고 npm run test 또는 npm test 명령어를 입력하면 되지만,
현재, Test는 생각하지않고 진행한 프로젝트라서.. 정상적인 결과를 얻기가 힘들다. 아래를 읽고 조금 더 공부해보자.

Jest

NestJS 공식 문서를 확인해보면 Jest를 제공한다고 적혀있다.
그 전에 js에서 테스트를 지원하는 프레임워크가 있는데 Mocha,Chai,Jest 등이고 그 중 하나인 Jest를 공부해야한다는 것이다. Jest공식문서를 이용하여 공부하면 되지만 아주 간단한 요약을 하고 가겠다.

Jest 요약

Jest는 하나의 테스트와 해당 결과를 확인하는 것이 중요하다.
이 때, 하나의 테스트를 it(또는 test)라고 하고, 결과를 유추해오는 것이 expect입니다.
안에 간단한 문자열을 넣어 테스트의 목적을 확인하고 expect로 결과가 성공했는지 확인해주는 것입니다.

describe는 test를 그룹화 시켜주는 명령어라고 생각하면됩니다.

마무리

아직 NestJS를 정상적으로 사용하지 못한다는 것을 깨달았다.. 이런 기능을 이용해야하는데 이런 것을 한번도 못써본게 너무 아쉽다.. 프로젝트를 진행하면서 한 번 사용해보자..

좋은 웹페이지 즐겨찾기