npm installnpm testnpm run test:watchnpm run test:coverage테스트 실행 후 터미널에서 결과를 바로 확인할 수 있습니다.
테스트 실행 시 자동으로 test-report.html이 생성됩니다.
브라우저에서 열기:
open test-report.html # macOS
# 또는
xdg-open test-report.html # Linux
# 또는 브라우저에서 직접 파일 열기더 보기 좋은 커스텀 대시보드:
# 브라우저에서 test-viewer.html 열기
open test-viewer.html # macOS또는 HTTP 서버로 실행:
python3 -m http.server 8000
# 브라우저에서 http://localhost:8000/test-viewer.html 접속__tests__/
├── setup.js # 테스트 환경 설정
├── diff-tree-full.test.js # 전체 트리 비교 테스트 (14개)
├── diff-flattened.test.js # 요약 테스트 (13개)
└── diff-only.test.js # 변경사항만 보기 테스트 (9개)
총 36개 테스트
- ✅ 파일 로드 검증
- ✅ diff 결과 생성 확인
- ✅ 버전 변경 감지 (
1.4.2→1.5.0) - ✅ depth 계산 정확성
- ✅ 파싱 로직 검증
- ✅ 엣지 케이스 처리
- ✅ Added/Removed/Changed 분류
- ✅ 기존 의존성 필터링 (모듈 추가 시)
- ✅ 신규 의존성만 Added에 포함
- ✅ 중복 제거 로직
- ✅ 개수 검증
- ✅ 공백 라인 제거
- ✅ +/- 라인만 필터링
- ✅ 전체 diff와 비교
__tests__/ 폴더에 .test.js 파일 추가:
const fs = require('fs');
require('./setup');
describe('새로운 기능 테스트', () => {
test('테스트 설명', () => {
const result = dependencyTreeDiffEnhanced('before', 'after');
expect(result).toBeTruthy();
});
});현재 목표:
- Statements: > 80%
- Branches: > 75%
- Functions: > 80%
- Lines: > 80%
테스트 실패 시:
-
상세 로그 확인:
npm test -- --verbose -
특정 파일만 실행:
npm test -- diff-tree-full.test.js -
특정 테스트만 실행:
test.only('이 테스트만 실행', () => { // ... });
GitHub Actions에서 자동 실행:
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '18'
- run: npm install
- run: npm test- 📊 실시간 통계
- 🎯 테스트별 상태
- ⏱️ 실행 시간
- 📈 성공/실패 비율
문의: 테스트 관련 문의는 Issues에 등록해주세요.
