I've never been a big fan of Test Driven Development (TDD), specially the part where you define the tests that will validate your code before writing the code. However, I've found extremely useful to run tests in isolation immediately after writing a piece of code, without requiring to run the complete project or framework.
Other advantage I've seen from testing is that now I structure all my projects to implement tests in an easy way. It is easier with projects like Spring that follows a strict-ish structure and conventions, but projects in Node are more liberals and I have been developing my own test structure for them.
Currently, I am rewriting the playing-soccer agent I developed for my master degree from C++ to Rust and, although the Rust compiler is right now my best friend and worst enemy at the same time, following my testing methodology has helped me getting the agent running in a short time.
I must also thank Rust tooling team for the fantastic work they have done with `cargo`, unlike C++ no-man's land, working with `cargo` and Rust has made me fall in love again with systems programming again. Maybe one day in the future I develop a video game using Rust, but right now I need to reproduce the results I got from my masters research and work from there.