You can do a ton of productive testing just by clearly separating different systems, especially game logic from rendering etc. This is just good code hygiene. Better game-specific tools can also be created, as companies like Larian are doing.
It's not really very different from testing other big complex software. Everybody has evolving requirements. But the general culture of game development is to ignore automated testing entirely, which is awful.
This also runs into an issue of scale. AAA games for live service games certainly do have automated testing for some core features like networking or certain simulations. But that kind of testing for an indie title would be overkill unless you're making a game like Factorio (a near deterministic game heavily relying on simulation). It's really hard to unit test "fun" after all.
There isn't as much benefit for a small platformer to test their jump height or physical interaction with the environment, and then change all tests whenever they decide that they need to adjust that height. On the contrary, some beloved glitches/exploits have come from allowing those weird interactions to exist.
It's not really very different from testing other big complex software. Everybody has evolving requirements. But the general culture of game development is to ignore automated testing entirely, which is awful.