1.4 KiB
1.4 KiB
Unit Tests
브라우저에서 실행되는 결정론적 수치·계약 테스트입니다. 별도 Node.js test runner가 필요하지 않습니다.
실행
- 저장소의
start.cmd를 실행합니다. - 최신 Edge 또는 Chrome에서 http://127.0.0.1:4173/tests/을 엽니다.
- 페이지 상단의 통과/실패 합계와 각 테스트 결과를 확인합니다.
Unit과 integration module은 같은 browser runner에서 순서대로 실행됩니다. 다시 실행하려면 페이지를
새로 고치세요. 다른 포트를 사용했다면 URL의 포트도 바꾸며, tests/index.html을 파일로 직접 열면
안 됩니다.
범위
contracts.test.js: Array·Scene·Experiment·Result schema, 관계 검증, 안전한 asset 경로와 fixtureacoustics.test.js: seed 재현성, mix/정규화, 자유음장 전파, calibration, STFT와 CPU DASbuilder.test.js: Builder scene model, source/asset 조작, 오디오 크기와 WAV 사전 검증evaluation.test.js: local peak, truth matching, 위치 오차, energy, sidelobe와 main-lobe 지표camera.test.js: canonical input hash, workload 추정, 거리 이동, Result 생성과 schema 검증webgpu.test.js: WGSL buffer packing, bin/point batching, 장치 한계와 typed CPU fallback 정책
WebGPU unit test 대부분은 실제 GPU 없이 planner와 binary layout을 검증합니다. 실제 GPU 수치 일치는 integration test에서 adapter가 있을 때 수행합니다.