How do Folks Handle Unit Testing for gdscript in Godot?
I'm relatively new to Godot and getting ready to ship a demo for my first game (written in gdscript), but as I keep running down last minute bugs I find that I occasionally wind up accidentally introducing some new weird behavior. The way that non-game software solves that kind of problem is with some kind of unit testing or other automated testing suites.
It looks like Godot doesn't natively support automated testing for gdscript, and there are a few third party frameworks for writing tests (GUT, WAT), but they seem to have some limitations. I'm especially struggling to wrap my head around how to apply a traditional unit testing framework to a situation where part of what you're testing is what the player sees on the screen and is not easily accessible programmatically. For example, while integrating a new zoom mode I recently introduced a bug in existing my automatic camera zoom. The bug didn't result in the zoom going out of bounds or anything that would have been easily detectable in a script, but it was immediately obvious from the user side as the camera was yo-yoing like crazy. I fixed it easily enough, but I wonder how I would write a test to have spotted that, if you see what I mean?
Does anyone do automated testing for games in Godot? Do you use GUT or WAT, or do you do it using some other method like creating a test scene? If you use GUT or WAT, have you run into any issues? I'm hoping to hear how different devs approach testing and for any advice or best practices folks might have.
Posted Mar 8, 2026, 8:13 PM UTC