← All projects
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.