本文へ移動
cccskills
無料GitHub で公開

godot-testing-patterns

Expert testing decision trees for GdUnit4: unit vs scene vs CI gates, headless runners, snapshots, and mock networks. Use when choosing test layers, wiring CI, or validating signals/physics without beginner assert catalogs. Keywords: GdUnit4, GdUnitTestSuite, headless CI, snapshot test, mock network, scene integration test, TDD.

インストール方法を見る

含まれるファイル(18)

  • SKILL.md11.3 KB
  • references/expert-testing-patterns.md1.4 KB
  • references/manual-testing-checklist.md559 B
  • references/migration-notes.md3.6 KB
  • scripts/basic_unit_test.gd1.3 KB
  • scripts/headless_test_runner.gd2.2 KB
  • scripts/integration_test_base.gd2.1 KB
  • scripts/memory_leak_detector.gd1.3 KB
  • scripts/mock_dependency_test.gd1.3 KB
  • scripts/mock_network_provider.gd1.8 KB
  • scripts/parameter_fuzz_tester.gd1.2 KB
  • scripts/performance_benchmark_runner.gd1.3 KB
  • scripts/physics_collision_test.gd1.4 KB
  • scripts/scene_integration_test.gd1.2 KB
  • scripts/signal_emission_test.gd1.2 KB
  • scripts/snapshot_tester.gd1.9 KB
  • scripts/test_data_factory.gd1.1 KB
  • scripts/wait_for_frame_test.gd1.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Decision Tree → Scripts

NeedChoiceScript (MANDATORY when chosen)
Pure logic / no treeUnitbasic_unit_test.gd, mock_dependency_test.gd, test_data_factory.gd
Node interaction after instantiateScene integrationscene_integration_test.gd, integration_test_base.gd
Signal contractsUnit or scenesignal_emission_test.gd
Multi-frame / physics stepAsync scenewait_for_frame_test.gd, physics_collision_test.gd
Flaky physics / timing racesFrame step gateMANDATORY wait_for_frame_test.gd — never wall-clock sleep
CI / no displayHeadless gateMANDATORY headless_test_runner.gd
Save/UI regressionSnapshotMANDATORY snapshot_tester.gd
RPC without live peersMock networkMANDATORY mock_network_provider.gd
Perf budget in CIBenchmark gateperformance_benchmark_runner.gd
Orphans after suiteLeak detectmemory_leak_detector.gd
Edge input spaceFuzzparameter_fuzz_tester.gd

Do NOT Load assert-catalog tutorials or manual gameplay checklists into context — pick a row, read the script, implement.

MANDATORY Triggers

  • CI / --headless: always read headless_test_runner.gd first (OS.exit_code, GdUnit4 CLI: godot --headless -s addons/gdUnit4/bin/GdUnitCmdTool.gd -a res://test).
  • State or visual golden files: read snapshot_tester.gd before writing JSON/image goldens. Approve workflow: first run saves reference; intentional UI change → delete or overwrite res://tests/snapshots/<name>.png, re-run to regenerate, commit new golden; never hand-edit PNG bytes.
  • Any RPC / MultiplayerSynchronizer test: read mock_network_provider.gd before standing up real peers.

Available Scripts

basic_unit_test.gd

Minimal GdUnit4 (GdUnitTestSuite) structure for pure logic.

signal_emission_test.gd

Signal emission monitoring for decoupled architectures.

mock_dependency_test.gd

Mocks/doubles to isolate external services.

scene_integration_test.gd / integration_test_base.gd

Scene lifecycle + node interaction fixtures.

headless_test_runner.gd

CI headless orchestration and exit codes.

snapshot_tester.gd

Dictionary/UI golden snapshot comparison.

mock_network_provider.gd

Loopback / offline multiplayer peer for RPC tests.

performance_benchmark_runner.gd

Microsecond timers + Performance monitor gates.

memory_leak_detector.gd

Orphan node detection across long suites.

parameter_fuzz_tester.gd

Randomized ranges for edge crashes.

wait_for_frame_test.gd / physics_collision_test.gd

Frame/physics-step async verification.

test_data_factory.gd

Schema-compliant fixture builders.

NEVER Do in Testing (GdUnit4)

  • NEVER test private implementation details — Assert public behavior only.
  • NEVER share mutable state between tests — Fresh setup per test (before_test / equivalent).
  • NEVER use wall-clock sleep / blind timers — Prefer frame steppers from wait_for_frame patterns.
  • NEVER skip cleanup — Free instantiated nodes after each test.
  • NEVER test randomness without seeding.
  • NEVER assert signals without the GdUnit signal assert/monitor helpers from signal_emission_test.gd.
  • NEVER mix GUT and GdUnit4 APIs in one suite.
  • NEVER rely on editor-only features for CI — Headless-compatible tests only.
  • NEVER default to full-level integration tests — Prefer unit + small scene tests; escalate only when the decision tree says so.
  • NEVER hardcode brittle absolute file paths in fixtures.
  • NEVER test third-party plugin internals — Test your integration only.

Expert Gates (short)

  • Snapshot: serialize → compare golden (snapshot_tester.gd); regenerate reference PNG on approved visual changes.
  • CI: --headless + OS.exit_code non-zero on failure (headless_test_runner.gd).
  • Network: mock peer before real ENet (mock_network_provider.gd).
  • Perf: Performance monitors / draw-call caps in benchmark runner.

Deep recipes (on demand)

LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.

TopicReference
Snapshot / CI / fuzz / perfexpert-testing-patterns.md
Release smoke checklistmanual-testing-checklist.md

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation

Related Skills

Prerequisites

Complements

Downstream / consumers

Master

  • godot-master — library router and mirrored module entry for cross-skill discovery.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Bevy ECS skill for 2D sprite animation. Keywords: Bevy, sprite, animation, AnimationPlayer, AnimationClip, 2D.

日本語の概要は準備中です。原文の説明を表示しています。

thedivergentai/Game-Design-Agentic-Skills8452026年10月13日 更新

Bevy ECS skill for 3D lights. Keywords: Bevy, lighting, directional, point, spot, bevy_light, PBR.

日本語の概要は準備中です。原文の説明を表示しています。

thedivergentai/Game-Design-Agentic-Skills8452026年10月13日 更新

Bevy ECS skill for PBR materials. Keywords: Bevy, StandardMaterial, PBR, material, ExtendedMaterial.

日本語の概要は準備中です。原文の説明を表示しています。

thedivergentai/Game-Design-Agentic-Skills8452026年10月13日 更新

Bevy ECS skill for 3D level assembly. Keywords: Bevy, level, scene, mesh, world, ECS.

日本語の概要は準備中です。原文の説明を表示しています。

thedivergentai/Game-Design-Agentic-Skills8452026年10月13日 更新

Bevy ECS skill for abilities. Keywords: Bevy, ability, cooldown, ECS, gameplay.

日本語の概要は準備中です。原文の説明を表示しています。

thedivergentai/Game-Design-Agentic-Skills8452026年10月13日 更新

Bevy ECS skill for moving a Bevy game from 2D to 3D. Keywords: Bevy, 2D, 3D, adapt, camera, sprite.

日本語の概要は準備中です。原文の説明を表示しています。

thedivergentai/Game-Design-Agentic-Skills8452026年10月13日 更新

thedivergentai のスキルをすべて見る

このスキルの問題を報告する