AgentSkillsCN

juce-testing

JUCE插件的测试规则。在编辑tests/目录下的文件时,会自动被引用。“/juce-testing”同样可进行显式启动。

SKILL.md
--- frontmatter
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: ...")

禁止事項

  • 外部ファイル依存を最小限に(テストデータはコード内で生成)
  • ランダムデータ禁止(再現性のため)
  • テスト間の実行順序依存禁止