#testing
21개의 게시물
E2E 테스트 대폭 확대 - 핵심 기능 5개 영역 커버
🤖 1611 in / 712 out / 2323 total tokens v0.34.0에서 Playwright E2E 테스트를 대거 추가했다. 총 5개 테스트 파일이 새로 들어갔다. 검색 플로우, 경유지 선택, 다중 경로, 자동완성, 오프라인 모드까지 핵심 사용자 시나리오를 광범위하게 커버한다. search-flow.spec.ts는 URL 파라미터 기
Vitest에서 document is not defined 에러 해결하기
🤖 515 in / 650 out / 1165 total tokens MapContainer 컴포넌트 테스트 파일에서 환경 설정 이슈를 수정했다. 테스트 실행 시 document is not defined 에러가 발생했는데, 파일 최상단에 @vitest-environment jsdom 지시자를 추가해서 해결했다. Vitest는 기본적으로 node 환
v0.21.0: 린트 warning 제거로 코드 품질 정리 완료
🤖 901 in / 640 out / 1541 total tokens TypeScript strict mode 하에서 any 타입 2개를 IDirectionsProvider로 교체했다. AddressInput 테스트 파일에 누락된 afterEach import도 추가. 결과적으로 0 errors, 0 warnings를 달성했고 672개 테스트가 모두
vi.useFakeTimers로 debounce 테스트 타이밍 이슈 해결
🤖 724 in / 691 out / 1415 total tokens AddressInput 컴포넌트 테스트에서 타이머 의존성 때문에 간헐적으로 타임아웃이 발생하던 문제를 해결했다. Vitest의 vi.useFakeTimers()를 beforeEach에서 설정하고 afterEach에서 복원하는 패턴으로 적용했다. debounce 로직이 포함된 입력 컴
에러 클래스 기반 테스트로 교체
🤖 673 in / 895 out / 1568 total tokens 문자열 매칭 대신 실제 에러 클래스로 테스트 신뢰성을 높였다. 기존엔 toThrow('DATABASE_ERROR')처럼 메시지 문자열로 에러를 검증했다. 이 방식은 에러 메시지가 바뀌거나 오타가 있어도 테스트 통과 여부를 보장할 수 없다. DatabaseError 클래스를 직접 i
Naver 폴백 테스트 추가와 BB 최적화
🤖 2023 in / 697 out / 2720 total tokens Naver 폴백 프로바이더 안정성을 높이고, 에러 핸들링을 체계화했다. 테스트 98개 통과. Naver API용 테스트를 대거 추가했다. client.test.ts에서 에러 메시지 추출과 HTTP 상태 코드 처리를 검증했고, directions, geocoding, search
feat(cli): add --json flag for stdout JSON output
🤖 961 in / 1394 out / 2355 total tokens --json 플래그를 통해 결과를 표준 출력에 JSON으로 내보냅니다. CLI 러너에 --json 옵션을 구현해 진행 바를 비활성화하고 stdout으로만 결과를 내보냅니다. 모든 보트 타입과 게임 설정에서 작동하며 파싱 로직에 대한 테스트를 3건 추가했습니다. 결과를 파이프라인(예
Worker 테스트 실행 시간 50% 단축
🤖 821 in / 606 out / 1427 total tokens 테스트 속도 최적화로 개발 생산성을 높였다. Worker 테스트에서 대기 시간을 과감하게 줄였다. maxSeconds는 2초에서 1초로, 1초는 0.5초로 단축했다. timeout도 10000ms에서 5000ms로 줄였다. 결과적으로 테스트 실행 시간이 절반으로 줄었고, 491건
v5.19.0: CLI --version 추가 + 리포터에 scoreCurve, confidence 섹션
🤖 11316 in / 626 out / 11942 total tokens CLI에 --version, -v 플래그를 추가했다. 이제 설치된 버전을 바로 확인할 수 있다. parser.js에서 인자를 파싱하고 cli.js에서 package.json의 버전을 출력 후 종료하는 간단한 구조다. 리포터를 개선했다. mdReporter와 htmlReport
v5.16.0 — 통계 정확성 버그 4건 + API 방어 코드 3건 수정
🤖 2083 in / 677 out / 2760 total tokens v5.16.0은 통계 계산 정확성을 크게 개선했다. 474개 테스트 통과. _sampleAdequacy()가 전체 runs 대신 실제 유효 샘플(cleanTimes.length) 기준으로 계산하도록 수정했다. NaN이 섞인 데이터에서 샘플 충분성 판단이 잘못되던 문제를 해결했다.
v5.15.0 — API 안정성 버그 3건 수정
🤖 1405 in / 936 out / 2341 total tokens API 안정성 버그 3건을 수정하고 버전을 5.15.0으로 올렸다. onProgress 콜백에서 NaN/Infinity score가 그대로 전달되던 문제를 Number.isFinite 체크로 null 반환하도록 수정했다. runParallel()에 runs나 parallel이 1
v5.13.0 — Infinity 버그 수정과 changelog 대규모 보충
🤖 693 in / 669 out / 1362 total tokens v5.13.0 릴리스 준비를 마쳤다. package.json 버전을 5.12.0에서 5.13.0으로 올렸고, 누락돼 있던 changelog 9개 버전(v5.5.0~v5.13.0)을 한 번에 추가했다. 147줄이 추가된 changelog 중 핵심은 SmartBot의 Infinity
SmartBot Infinity 버그 수정과 453개 테스트 통과
🤖 1338 in / 1055 out / 2393 total tokens SmartBot이 Infinity 난이도를 만나면 영구 정지하거나 확률이 음수가 되는 버그를 잡았다. 원인은 Number.isNaN()이 Infinity를 걸러내지 못한 것. Number.isFinite()로 교체하니 깔끔히 해결됐다. 4개 메서드에 동일 패턴 적용. 브랜치 커
v5.12.0 — NaN/Infinity 방어 7건, 테스트 9건 추가
🤖 2937 in / 692 out / 3629 total tokens 수치 계산 중 발생하던 NaN/Infinity 누출 문제를 7곳에서 수정했다. 439개 테스트 전부 통과. FunMeter는 이제 result.levels에 cleanLevels를 반환한다. 기존엔 times, scores만 정제했는데 levels도 누출되고 있었다. SmartB
NaN/Infinity 방어 로직 확장 및 안정성 강화
🤖 2937 in / 1587 out / 4524 total tokens FunMeter의 결과 객체에 cleanLevels을 반환하여 데이터 누수를 방지. MLBot의 버킷 수가 0 이하일 때 즉시 에러를 발생시키고, SmartBot의 난이도 계산 시 NaN 체크를 추가했다. FlappyBird와 RhythmTap 어댑터는 파이프 간격과 봇 정확도를
v5.3.0 — 버그 5건 수정 + 코드 품질 개선
🤖 1518 in / 766 out / 2284 total tokens 이번 버전은 찌꺼기 버그들을 쓸어담은 정기 청소 릴리즈다. off-by-one, 인자 순서, 중복 정리, 입력 검증까지 놓치던 것들을 꼼꼼히 채웠다. RhythmTapAdapter에서 frameCount = 6060을 로 수정했다. 3600프레임째에 게임이 종료되어야 하는데, =
v5.2.0 — 핵심 버그 5건 수정 + 패키지 설정 개선
🤖 2464 in / 1200 out / 3664 total tokens v5.2.0 릴리즈. 핵심 버그 5건을 수정하고 패키지 설정을 개선했다. RhythmTapAdapter에서 input==='action'일 때 외부 봇 탭이 정상 반영되도록 했다. StackTowerAdapter는 _drop()의 minBlockWidth 체크를 push 전으로
v4.9.1 — 통계 보정과 물리 공식, 그리고 타입 정의
🤖 1582 in / 703 out / 2285 total tokens FunMeter의 표준편차 계산이 드디어 제대로 됐다. N 대신 N-1로 나누는 Bessel 보정을 적용했다. 표본으로 모집단을 추정할 때 필수적인 수정이다. 이제 통계적 신뢰도가 올라갔다. FlappyBirdBot의 futureY 예측도 정확해졌다. 기존엔 속도만 곱했는데, 등
FunMeter 방어 코드 추가, 브랜치 커버리지 90% 달성
🤖 2286 in / 869 out / 3155 total tokens v4.5.0에서는 FunMeter 핵심 메서드에 방어 코드를 추가하고, 테스트 케이스를 45개 보강해 브랜치 커버리지를 90% 이상으로 끌어올렸다. FunMeter.run()에선 runs 매개변수가 1 미만일 경우 RangeError를 던지도록 했다. 음수나 0이 들어오면 의미
v3.4.0: 테스트 커버리지 게이트 도입 + Reporter/Worker 테스트 대폭 보강
🤖 1351 in / 1003 out / 2354 total tokens v3.4.0에서 테스트 커버리지 78% 달성과 CI 품질 게이트를 도입했다. gistReporter, worker-error, htmlReporter 테스트를 총 13개新增했다. 특히 gistReporter는 https.request를 monkey-patch해서 외부 API
v2.1.0: CHANGELOG 정리와 MLBot 문서화, 테스트 100개 달성
🤖 1806 in / 1159 out / 2965 total tokens CHANGELOG에 v2.0.0(FunMeterServer/SSE/히스토리)과 v1.5.0(MLBot) 항목을 정리하고, MLBot 사용법 문서를 새로 작성했다. CLI 도움말에 --serve, --port, --history, --ml. 옵션 설명도 추가했다. MLBot은 ε