JavaScript Testing With Jasmine by Evan Hahn; O’Reilly Media

Posted on by

You should know right away: this book is short, 41 pages, stem to stern.

Jasmine is a free-and-open-source JavaScript testing application developed by Pivotal Labs and available on GitHub.

After some brief why-you-should-do-this throat-clearing, Hahn walks the reader through the development of a few simple JavaScript functions and the Jasmine “suites” for testing them. He starts from the very beginning, getting and installing the software and setting up the environment. He explains every line of code and describes additional features and options of the application along the way and includes very clear instructions for writing and running the test code.

With no experience testing JavaScript and only a little experience writing any software tests, this book was exactly the jump-start I needed. I duplicated the sample code in my IDE, goofed around with it a little bit, breaking it and extending it to see what happened and then was quickly able to start unit tests in my current project. Not well, at first, but with some confidence that I’d be able to figure things out.

The prose can get clunky. Not unclear or incoherent, just lacking in grace, and there is one serious code error, already noted in the errata page for the book at O’Reilly Media. Hahn makes no mention of the active community of developers using and extending Jasmine nor of Jasmine’s shortcomings (it’s not good at testing DOM manipulations without an additional plugin) – this is very much “How To Get Started With Jasmine”.

Minus “why you should test your software” arguments and some enthusiastic coverage of CoffeeScript and Ruby, you’re left with something roughly equivalent to a high-quality Web tutorial. That’s nothing to sneeze at, but it’s not “The Definitive Guide”, either.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>