Node Package Manager의 약자
자바스크립트 패키지 매니저이고 NodeJS에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소
패키지를 설치/관리를 수행할 수 있는 CLI를 제공
package.json
npm 패키지들을 관리하는 파일
프로젝트의 정보와 프로젝트에서 사용 중인 패키지의 의존성을 관리하게 된다.
dependency
라이브러리나 프레임워크 같이 실제 프로덕트에서 사용되는 것들이 담긴다.devDependency
개발을 편하게 해주는 도구들이 담긴다.
소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 가장 작은 단위의 테스트
즉, 모든 함수와 메소드에 대한 테스트 케이스(Test case)를 작성하는 절차
단위테스트를 하면 좋은점
- 연관 컴포넌트가 완성되지 않아도 구현 코드가 정상 작동하는지 알 수 있다.
내가 작성한 구현 코드를 단위테스트를 통해 정확히 작동하는지 검증한다면 연관 컴포넌트가 완성되기 전에 개발이 완료 됐다는 것을 증명할 수 있다.
- 문제점을 빠르게 발견할 수 있다.
해당 부분만 독립적으로 테스트하기 때문에 빠르게 문제 여부를 확인할 수 있어 코드 리팩토링이 편해지고, 코드 품질을 향상시킬 수 있다.
- 코드에 대한 문서가 될 수 있다.
배포되는 코드와 일치하므로 항상 최신 상태로 유지되고 코드의 문서라고 볼 수 있다.
좋은 단위 테스트 FIRST 규칙
Fast: 테스트는 빠르게 동작하여 자주 돌릴 수 있어야 한다.
Independent: 각각의 테스트는 독립적이며 서로 의존해서는 안된다.
Repeatable: 어느 환경에서도 반복 가능해야 한다.
Self-Validating: 테스트는 성공 또는 실패로 boolean 값으로 결과를 내어 자체적으로 검증되어야 한다.
Timely: 적시에 사용해야한다. 테스트하려는 실제 코드를 구현하기 직전에 구현해야 한다.
unit test
Clean Code 책
멋있어요👍