I’ve added a ton of notes to this response, but for people who may not see it, it boils down to this: Yeah, a lot of these points are true.
- Mocha is more configurable.
- It can output TAP (if you configure it to manually).
- You can use `beforeEach()` in a way that doesn’t completely run counter to test isolation (if you are even aware of what test isolation means, and the traps that such functions lay for test authors).
- Apparently you can even stop Mocha from littering the environment with globals — but it’s not default behavior and I didn’t even know it was possible after using Mocha for years.
The central thesis of my article is that with Tape, you don’t even have to think about any of this crap because it gives you sane assertions and a reporter that plays nice with everything right out of the box. It doesn’t include stupid functions that hurt more than they help, and it will never pollute your global environment.
All the arguments that you’ll spend time rolling your own bells and whistles are wasted because (I promise you), you don’t need them. Don’t waste your time.
Tape gets out of your way so you can do what you really should spend your time on: build your app.
p.s. Your moment of zen:
“If you are writing for 100% coverage, won’t the time and money you claim would be saved by using Tape be instead frittered on developers writing meaningless unit tests just to reach that mythical 100% number?” ~ Mocha contributor