The Testing Goat

Obey the Testing Goat!

TDD for the Web, with Python, Selenium, Django, JavaScript and pals...

The book

This is my book about Test-Driven-Development for web programming, published by the excellent O'Reilly Media.

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.


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 a friend!

And do get in touch with comments, suggestions, corrections etc!


[OT] Autumn Leaves

Another OT post, this one a short playlist of three autumnal songs.

Fri 30 October 2015 by Harry


Decorators can be quite confusing when you first meet them. The best way to learn is by writing some! Here's a couple of simple examples for you to try out.

Thu 23 October 2014 by Harry

How to get Selenium to wait for page load after a click

Getting Selenium to wait until the next page has fully loaded after you click on a link seems like it should be easy, but it's actually very hard to do reliably, but I think we may have cracked it. Read on!

Wed 03 September 2014 by Harry

Kent Beck on the limits of TDD

As part of the #isTDDDead discussions, Kent Beck had a pithy reflection on what the limits of TDD might be.

Tue 03 June 2014 by Harry

Book upgraded to Django 1.7!

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 by Harry

How to log exceptions to stderr in Django

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 by Harry

« Page 2 / 4 »

Read the book

The book is available both for free and for money. It's all about TDD and Web programming. Read it here!

Reviews & Testimonials

"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"Read more...


A selection of links and videos about TDD, not necessarily all mine, eg this tutorial at PyCon 2013, how to motivate coworkers to write unit tests, thoughts on Django's test tools, London-style TDD and more.

Old TDD / Django Tutorial

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!

Save the Testing Goat Campaign

The campaign page, preserved for history, which led to the glorious presence of the Testing Goat on the front of the book.