← All projects

released C++

GDExtension Test Framework

Test your C++ GDExtensions directly in C++ — a GoogleTest-style framework that boots a real Godot instance under the hood.

godotgdextensionc++testingtooling


Testing GDExtensions today means building a test game, wiring up scenes, and eyeballing output. This framework flips that: write GoogleTest-style tests in C++ that run against a real, booted Godot runtime — no scene plumbing required.

Public repository and docs are live — see the documentation.

The idea

TEST(node_lifecycle, _ready_runs_after_add_child) {
    auto* node = memnew(Node2D);
    SceneTree::get_singleton()->get_root()->add_child(node);
    EXPECT_TRUE(node->is_inside_tree());
}
  • GoogleTest-style API — TEST, EXPECT_*, ASSERT_* if you have written C++ tests before, you already know this framework
  • Real engine under test — a headless Godot instance boots your extension, so you test actual node behavior, not mocks
  • CI friendly — non-zero exit codes and structured output for GitHub Actions out of the box

Status

Released and actively maintained. Hardened against the first internal users — Dead Shrimp Studio’s own projects — and now public.