name: juce-testing description: > JUCEプラグインのテストルール。 tests/ 配下のファイル編集時に自動参照。 "/juce-testing" で明示的に起動も可能。
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: ...")
禁止事項
- 外部ファイル依存を最小限に(テストデータはコード内で生成)
- ランダムデータ禁止(再現性のため)
- テスト間の実行順序依存禁止