Summary
radcap currently has no automated test target — QA is entirely manual. With three supported macOS releases now in play (14 Sonoma, 15 Sequoia, 26 Tahoe), it's time to establish a real testing baseline to catch regressions across OS versions.
Scope
- Unit tests: Core logic in
CaptureManager, RecordingCoordinator, AppSettings, format/resolution helpers — anything that doesn't require a physical camera/mic
- UI/integration smoke tests: Key flows (start recording, stop recording, settings persistence, countdown, HUD display) using XCTest or a lightweight harness
- OS matrix: CI should run tests on macOS 14, 15, and 26 — either via hosted runners or local VMs. GitHub-hosted
macos-14, macos-15, and macos-26 runner labels (when available) are the target.
- Regression guard: At minimum, the build should not compile-warn or fail on any of the three targets
Notes
- No physical camera required for the majority of testable logic —
AVCaptureSession can be mocked/stubbed at the coordinator level
- Prioritize testing the paths most likely to regress across OS: recording start/stop lifecycle, format selection, HUD layering
- This is foundational work — don't aim for 100% coverage out of the gate, aim for a working CI gate that prevents obvious regressions
Summary
radcap currently has no automated test target — QA is entirely manual. With three supported macOS releases now in play (14 Sonoma, 15 Sequoia, 26 Tahoe), it's time to establish a real testing baseline to catch regressions across OS versions.
Scope
CaptureManager,RecordingCoordinator,AppSettings, format/resolution helpers — anything that doesn't require a physical camera/micmacos-14,macos-15, andmacos-26runner labels (when available) are the target.Notes
AVCaptureSessioncan be mocked/stubbed at the coordinator level