So the answer is “Mocha + Chai + Sinon but alternately Tape UPDATE: also Jest could work and Ava is…

Yup, you’re right!

Thus the “it’s not that simple” in the title. Mainly because different people value different things. Eg: for me, being able to run the tests in a browser locally is critical. Which totally rules out Jest/Ava right now. But if you read through the comments, even with the nuances, a lot of people called me out for not saying Ava was the best thing ever. Why? Some segment of the community runs unit tests exclusively at the command line.

The proper mocha+chai+sinon that gives you all the bells and whistles is actually really hard to setup and is poorly documented. I honestly can count on my fingers how many places Ive seen that did it. So it’s hard to just tell newcomers: “Do it this way!”, since they probably won’t succeed.

One of my future blog posts will be something along the line of “You’ve never seen unit testing done right”, because its so hard to do properly (even in more mature worlds, such as JVM-land), that I’d dare guess less than 1% of software engineers have worked at a company where it was done properly.

Kind of similar to micro-services…everyone talks about it and tries to do it, but the devops effort behind it is so large, I can NAME the companies that do it right.

Like what you read? Give Francois Ward a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.