Hacker News new | ask | show | jobs
by jmreidy 5414 days ago
Jasmine is a great library, especially for anyone coming from the Rspec world. The syntax is incredibly similar to Resp, and when Jasmine is written in CoffeeScript, it's one of the most readable testing libraries I've seen (in any language).

The biggest benefit to Vows is its "everything can be async" nature. This approach makes testing incredibly fast. It's also built in a very modular way that allows for what it calls "batching" - which is really just test metaprogramming. Vows-bdd is just using this capacity for metaprogramming, so it's not too much more than a "mini-DSL" on top of Vows itself.

Vows-bdd is very much inspired by two libraries from Nodejitsu: prenup (a general purpose fluent vocabulary on top of vows) and api-easy (which uses Vows for simple, readable testing of API endpoints). All three of these libraries aren't really doing anything more than pre-wiring Vows tests together. I think it's a reflection of Vows' power that it can be so easily metaprogrammed in this style.