I have created dozens of extensive web applications over the years, including professional websites, job application portals, real-time sports tracking and statistics, and more. I have never used a test framework for any of these projects before, nor have I known that such a thing even existed until very recently.
Now that I’ve been introduced to building tests, it seems criminal that I haven’t used them. I quickly came to realize that if your project doesn’t test, you’re not done yet.
Both Unit Testing and Functional Testing have proven themselves to be invaluable for a scaling project. In fact, I’d go so far as to argue that programmers should be creating a test before ever writing a single line of production code. With a properly pseudocoded application, you ought to have an idea of how your final product will function and how that function will be accomplished.
With that in mind, write a unit test that your functions are required to pass in order to operate correctly.
When you actually start writing your code, you will need to shape the function to pass the test you’ve already written. Imagine how many unintended consequences will be eliminated right out of the gate because your properly written, thorough test will immediately alert you to them. Most of your accidentally mutated data points will be identified before your code runs for the first time.
Effective immediately, every project I have control over will have a unit test written for every planned function before coding begins. The additional up-front time will quickly reach a ROI due to less bug testing down the road. I’m excited to begin again!
My early experience is limited to Chai/Mocha, Karma, and Nightmare, but my research finds many other test packages to be similar in structure and output. Find what works best for you and get started today!