Two Talks on Unit Testing

Details
This time we have two talks on a very important subject: unit testing!
Unit Testing for Great Justice with Domenic Denicola (http://domenicdenicola.com/)
The discovery of unit testing and test-driven development was one of the most important parts of my growth as a developer. The ability to write simple, small pieces of code that could verify the behavior of my application was in itself quite useful. And the ability to refactor without fear, just by running the test suite, changed how I program. But the real benefits come in how unit tests shape your application code: more testable code is often more well thought-out, more decoupled, and more extensible.
In this talk, I'll give a whirlwind introduction to unit testing as a concept and as a practice. I want you fully convinced it's the best thing to happen to software development, if you aren't already. Once we're on the same page there, I'll take a deep dive into what makes a good unit test. This involves testing tools such as spies, stubs, and mocks, concepts like code coverage, and practices like dependency injection that shape your application code. The most important lesson will be on how to focus on singular, isolated units of code in your testing, as this guides you toward building modular, flexible, and comprehensible applications.
Client Side Unit Testing for Single Page Applications with John K. Paul (http://johnkpaul.com/)
The unit testing web developer population, in general, has been growing by leaps and bounds, but sadly those gains haven’t been as steady on the client side. I’d like to address a few of the reasons why that is, and how we can change that by unit testing our client side application code as thoroughly as possible.
Most unit testing examples focus on very straightforward imperative tests. I have seen many explanations of JavaScript unit testing that describe how to verify the logic behind a calculator or a form validation library, but not how to test a more complex, event triggered application. I’ll walk you through a simple unit tested Backbone application and explain some design tips for effectively unit testing your code along the way. After that, I will explain how to effectively mock Ajax requests and trigger Ajax events from your unit tests.
I will also be giving a short introduction to the grunt build tool. I’ll show you how to setup grunt in such a way that your test output can be easily integrated with your continuous integration suite as well as run every time you change a file. Hopefully, eventually, we’ll all be able to have the confidence inspired by the green and red lights on a build monitor, on both sides of the great HTTP divide.
We expect lots of conversation and back-and-forth on these topics, so come prepared to share your opinions and experiences! And please join us for discussion of all things HTML5 over drinks afterward.
Finally, thanks to Facebook NYC for generously hosting us this month!

Two Talks on Unit Testing