I’ve never been a big fan of Test Driver Development (TDD), specially the part where you define the tests that will validate yor 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 project 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 tha 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 than 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 ad work from there.