Brendan Erwin

TDD/BDD Jasmine to Mocha

I just got done giving a presentation at the Atlanta JavaScript Meetup Group describing our journey with TDD/BDD in JavaScript using Jasmine and some other tools. I learned a lot:

First, it was a lot of fun getting to talk about this stuff, so thanks a lot folks!

Second, I think I’m going to include a new section at the beginning of all my presentations where I give a bit of background on all the bits and pieces I’ll be using. For instance, a quick overview of CoffeeScript and Vim: what they are, where you can get them, etc. That way I can get that stuff out of the way and hopefully allow people to see my intended content.

Third, I need to focus my message at the beginning and get my goal out there so my audience knows where we are going. “Hand waving” at the beginning isn’t very engaging…

The Content

The presentation was about TDD/BDD in JavaScript. I tried to give a bit of background covering the basic patterns used to write specs and how the Jasmine style is awesome because it can do them all.

Then I went on to describe some of the real-world problems with building big, complex systems. Modularity and the related tools and problems.

Finally, I discussed our journey “through” Jasmine to Mocha (and some related tools) due to the problems we had with Jasmine and our Jasmine tool stack.

Here is my presentation:



There was some interest in some of the tools we used as well:


I think I’d like to do a presentation digging deep into CoffeeScript. The suggestion came up that a JavaScript vs. CoffeeScript showdown might be a fun format…

Also, I’d like to talk a bit about the OEmbed standard. It has a lot of potential but I think it needs more mind-share.