# Integration Tests 실제 브라우저 API, Worker, 다운로드와 앱 간 데이터 계약을 함께 검증합니다. ## 실행 1. 저장소의 `start.cmd`를 실행합니다. 2. 최신 Edge 또는 Chrome에서 을 엽니다. 3. 모든 항목이 끝날 때까지 페이지를 열어 둡니다. Unit과 integration test가 같은 페이지에서 실행됩니다. WebGPU 장치 초기화와 192채널 baseline은 수 초 이상 걸릴 수 있습니다. 페이지 제목과 요약이 `PASS`인지 확인하고 실패 항목의 stack을 확인하세요. `index.html`을 직접 열면 HTTP, module과 Worker 테스트가 올바르게 동작하지 않습니다. ## 범위 - `cpu-baseline.test.js`: 192채널·50×50 synthetic fixture의 CPU DAS와 위치 기준 - `webgpu.test.js`: 실제 adapter가 있으면 CPU/GPU map 오차, peak와 강제 bin/point batching; adapter가 없으면 Auto CPU fallback - `server.test.js`: 숨김 저장소 경로 차단, GET/HEAD 제한과 보안 response headers - `builder-ui.test.js`: 파일 선택 한 번으로 오디오 음원 생성, 이미지·오디오 연결, canvas 편집, Preview WAV/Scene 다운로드, SHA 재연결과 잘못된 import 보존 - `camera-ui.test.js`: Dedicated Worker CPU/WebGPU 실행, 취소, Result schema, rectangular/Fermat 비교 - `workflow-ui.test.js`: Dataset Builder의 Scene JSON과 원본 assets를 Acoustic Camera에 넘겨 Result JSON을 저장하는 end-to-end 흐름 WebGPU adapter가 없는 환경에서는 장치가 필요한 비교 항목을 건너뛰거나 Auto fallback을 검증하므로 CPU-only PASS도 가능합니다. 실제 장치의 scaling과 benchmark JSON 저장은 에서 별도로 실행하세요. 기존 실측 조건과 해석은 [`../../docs/benchmarks/README.md`](../../docs/benchmarks/README.md)에 있습니다.