피드로 돌아가기
Node.js 14.2.0 (Current)
Node.js BlogNode.js Blog
Backend

Node.js 14.2.0이 assert.CallTracker와 Console 그룹 들여쓰기 커스터마이징을 도입해 함수 호출 검증과 로그 포맷팅 유연성 증대

Node.js 14.2.0 (Current)

2020년 5월 5일5beginner

Context

테스트 코드에서 함수 호출 횟수를 검증하려면 수동으로 카운팅 로직을 구현해야 했으며, Console 객체의 그룹화 기능은 고정된 2칸 들여쓰기만 지원했다.

Technical Solution

  • assert.CallTracker 신규 실험 API 도입: 함수 호출 횟수를 자동으로 추적하고 검증하는 기능 제공
  • tracker.calls(func, expectedCount) 메서드 구현: 특정 함수를 래핑하여 호출 횟수를 기록하고 예상 호출 횟수 지정 가능
  • tracker.verify() 메서드 추가: 등록된 모든 함수가 예상된 횟수만큼 호출되었는지 검증하고 미충족 시 프로세스 종료
  • tracker.report() 메서드 제공: 호출 검증 실패에 대한 상세 정보(actual, expected, stack trace)를 배열로 반환
  • Console 생성자에 groupIndentation 옵션 추가: 그룹화할 때 사용할 들여쓰기 칸수를 사용자 정의 가능 (기본값 2칸을 다른 값으로 변경 가능)

Key Takeaway

Node.js 14.2.0의 CallTracker는 테스트 코드에서 함수 호출 검증을 표준화된 방식으로 수행하게 하며, Console의 groupIndentation 커스터마이징은 다양한 로깅 포맷 요구사항을 충족할 수 있게 한다.


단위 테스트를 작성하는 엔지니어는 assert.CallTracker를 활용하여 모의 객체의 호출 횟수 검증을 표준 라이브러리로 구현하면 수동 카운팅 로직을 제거할 수 있다. 또한 구조화된 로그 시스템을 구축할 때 Console의 groupIndentation 옵션으로 다양한 들여쓰기 너비를 지원하면 시각적 계층 표현의 유연성을 높일 수 있다.

원문 읽기
Node.js 14.2.0 (Current) | Devpick