JUCE Testing Rules
テストフレームワーク
- •プロジェクト既存のフレームワークに合わせる(JUCE UnitTest / Catch2)
- •新規なら Catch2 を推奨
DSPテスト
- •既知の入力信号(サイン波、インパルス、DC)に対する出力を検証
- •AudioBuffer を直接構築して processBlock に渡す
- •サンプルレート、バッファサイズを明示的に設定してから prepareToPlay
- •浮動小数点比較は許容誤差を設定(例: Approx with margin 1e-6)
パラメータテスト
- •各パラメータの範囲、デフォルト値、正規化を検証
- •境界値テスト: min, max, 中間値
- •不正値を入れたときの挙動確認
GUIテスト
- •コンポーネントの存在確認
- •基本レイアウトの検証(サイズが0でないこと等)
- •深入りしない — GUIの見た目はビジュアルテストで別途
spec.md との関係
- •spec.md の受け入れ基準ごとに最低1テスト
- •テストケース名に対応する基準番号を入れる:
TEST_CASE("AC-01: ...")
禁止事項
- •外部ファイル依存を最小限に(テストデータはコード内で生成)
- •ランダムデータ禁止(再現性のため)
- •テスト間の実行順序依存禁止