Test-driven development with Node.js

This is a sample app using TDD and Node.js, with Mocha as the testing framework. I’m somewhat new to TDD (and Node) and have been really impressed with both. Node offers very high productivity, scaling, and portability. Using the TDD approach means that not a single line of production code is written unless there’s a failing unit test. It’s a little unnatural at first, but eventually it becomes second nature and you end up with an app that’s extremely maintainable and reliable – meaning it can be deployed frequently as the need for massive regression testing and bug fixing decreases.

As a starting point I used Yeoman to scaffold out a Node console app for me, but found that it did too much. I ended up building out the app from scratch so I had better control and understanding.

I used VS Code for the IDE, running under Ubuntu Gnome. Very nice little multi-platform IDE with lots of cool plugins.