I'm writing a book about Test-Driven-Development for web programming.
It's forthcoming on O'Reilly. I want to get as much
feedback on it as possible while I'm still writing
it, and I'd love your help.
There are 2 ways you can read the book:
Obviously this is my favourite option! O'Reilly are great,
they have DRM-free versions you can download in all sorts
of formats (MOBI/epub/pdf), and you'll get updates
automatically every few weeks. You can also read it at
if you have an account there.
Via O'Reilly' Chimera. I see this as a "try-before-you-buy" scheme, and I hope
that if you enjoy it you'll buy a copy -- if not for yourself, then perhaps for
And do get in touch with comments, suggestions, corrections etc!
I've just completed the process of upgrading the whole book to the Django 1.7 beta release. Migrations were the biggest change. They've meant a slight increase to the learning curve for chapters 5 & 6, but on the other hand I was able to drop the dedicated migrations chapter altogether!
Wed 02 April 2014
Django logging can be a little baffling. Here's an answer to the "how do I make django log all exceptions to the console?" question, which isn't necessarily obvious.
Thu 23 January 2014
tl;dr: I found myself going through increasing contortions trying
sinon.js, all the pain went away. Folks, don’t try to roll your
I’ve been playing around with
as an authentication ...
Sat 19 October 2013
This blog post is a first rough draft of a planned appendix to my
book. It follows
on from Chapter 9, which is all about forms and validation. You can
take a look at it
If you want to check out the code to have a play with the ...
Fri 27 September 2013
Should we unit test deployment scripts? If so, how?
Thu 19 September 2013
In which I provoke the "unit test purist" community by claiming that fast tests are useless
Wed 11 September 2013
Links to some awesome TDD stuff from EuroPython, and also my own talk + tutorial
Wed 03 July 2013
A quick guide to how to write tests for the tornado ioloop, since the official docs can still leave one a little baffled.
Mon 10 June 2013
I think Django gives you everything you need for a new user registration form in about 2 lines of urls.py config... am i right?
Sun 09 June 2013
Time to deploy the site... But how? And where does TDD fit in?
Page 1 / 2
I'm writing a book all about TDD and Web programming.
Read the draft and let me
know what you think!
"Hands down the best teaching book I've ever read" —
"Even the first 4 chapters were worth the money" —
"Oh my gosh! This book is outstanding" —
"The testing goat is my new friend" —
This is my
old TDD tutorial,
which follows along with the official Django tutorial, but with full TDD. It
badly needs updating. Read the book instead!
The campaign page, preserved for history, which led to the glorious presence
of the Testing Goat on the front of the book.