UNPKG

codebridge-ai

Version:

Complete fullstack AI coding platform with AST-based code integration and local LLM support. Now with comprehensive web technology support (HTML/CSS/JS) plus JavaScript, Python, Rust, and C++.

169 lines (135 loc) 3.35 kB
# CodeBridge 테스트 가이드 ## 테스트 현황 ### 현재 상태 - ❌ 자동화된 테스트 없음 - ❌ CI/CD 파이프라인 미구성 - ✅ 테스트 프레임워크 설계 완료 - ✅ LLM 호환성 테스트 계획 수립 ### 필요한 테스트 1. **기본 기능 테스트** ⚠️ - JavaScript 메서드 병합 - HTML 처리 - 주석 명령어 파싱 2. **LLM 호환성 테스트** ⚠️ - Claude, GPT-4, Gemini 출력 형식 - 다양한 주석 스타일 - 부분 코드 vs 전체 코드 3. **언어별 테스트** 📋 - Python (계획됨) - Rust (계획됨) - 통합 웹페이지 (계획됨) 4. **정적 분석 통합** 📋 - ESLint 통합 - 보안 검사 - 성능 분석 ## 테스트 설치 및 실행 ### 1. 의존성 설치 ```bash npm install --save-dev jest @babel/core babel-jest @types/jest ``` ### 2. 테스트 실행 ```bash # 모든 테스트 실행 npm test # 특정 테스트만 실행 npm run test:basic # 기본 기능 테스트 npm run test:llm # LLM 호환성 테스트 # 커버리지 확인 npm run test:coverage # 감시 모드 (파일 변경 시 자동 실행) npm run test:watch ``` ## LLM별 사용 가이드 ### Claude ```javascript // 권장 형식 // @decorator cache // @access private method() { return improved; } ``` ### GPT-4 ```javascript // 지원 형식 (콜론 선택사항) // @decorator: async // @access: public method() { return enhanced; } ``` ### Gemini ```javascript /* 블록 주석도 지원 */ /* @decorator memoize */ /* @access protected */ method() { return optimized; } ``` ## 테스트 커버리지 목표 | 영역 | 현재 | 목표 | |------|------|------| | 구문 (Statements) | 0% | 90% | | 분기 (Branches) | 0% | 85% | | 함수 (Functions) | 0% | 90% | | 라인 (Lines) | 0% | 90% | ## 우선순위 ### 즉시 필요 🚨 1. Jest 설치 및 설정 2. 기본 기능 테스트 구현 3. CI/CD 파이프라인 활성화 ### 중요 ⚠️ 1. LLM 호환성 테스트 구현 2. 오류 처리 테스트 3. 성능 테스트 ### 향후 계획 📋 1. 언어별 확장 테스트 2. 정적 분석 통합 테스트 3. E2E 통합 테스트 ## 테스트 작성 가이드 ### 기본 구조 ```javascript describe('기능 그룹', () => { test('특정 동작', () => { // Given - 준비 const input = '...'; // When - 실행 const result = processor.process(input); // Then - 검증 expect(result).toBe(expected); }); }); ``` ### LLM 출력 테스트 ```javascript test('LLM 출력 처리', () => { const llmOutput = simulateLLMOutput(code, 'claude'); const extracted = extractCodeFromLLM(llmOutput); const result = processor.process(original, extracted, 'js'); expect(result).toContain('expected'); }); ``` ## 기여 방법 1. 테스트 케이스 추가 2. 버그 발견 시 실패하는 테스트 먼저 작성 3. 테스트 통과하도록 코드 수정 4. PR 제출 시 테스트 결과 포함 ## 문제 해결 ### Jest 설치 오류 ```bash npm cache clean --force rm -rf node_modules package-lock.json npm install ``` ### 테스트 실행 오류 ```bash # Babel 설정 확인 npm install --save-dev @babel/preset-env ``` ### 커버리지 리포트 생성 안 됨 ```bash # 커버리지 디렉토리 확인 mkdir -p coverage npm run test:coverage ```