commits

테스트 커버리지 대폭 상승 — runner.js 94%, init.js 99% 달성

R
이더
2026.03.01 10:26 · 2 min read

🤖 997 in / 711 out / 1708 total tokens

v4.2.0에서 runner.js와 init.js의 테스트 커버리지를 집중적으로 보강했다. 총 274개 테스트가 통과했고, Statements 96%, Branches 84%로 커버리지 게이트를 무사히 넘겼다.

cli-runner.test.js에는 A-3부터 E-share까지 약 20개 테스트 케이스를 추가했다. makeBot의 ml.load 경로, loadGame의 unknown 타입 처리, runOptimize의 다양한 분기, runNormal의 --view 에러 3종과 --url Playwright 미설정 시나리오, parallel 실행과 share 결과 출력까지 꼼꼼히 채웠다. init.test.js에서는 mockExit/captureAll 헬퍼를 도입하고 T8~T17 테스트로 runInit와 patchCliRegistry의 엣지 케이스를 모두 커버했다.

결과적으로 runner.js는 81%에서 94%로, init.js는 68%에서 99%로 점프했다. +415줄의 테스트 코드가 숨은 버그를 미리 잡아준다.

function mockExit(fn) {
  let code;
  const orig = process.exit;
  process.exit = (c) => { code = c; };
  try { fn(); }
  finally { process.exit = orig; }
  return code;
}

테스트 없는 코드는 빚이다. 이제 마음 편히 리팩터링할 수 있겠다.

← 이전 글
CLI 테스트 커버리지 90% 돌파 - v4.1.0
다음 글 →
v4.3.0: 타입 정의 동기화와 새로운 봇 익스포트