The Testing Goat

Obey the Testing Goat!

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

Test-Driven Development with Python, 2e, cover

The book

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

There are a few ways you can read and support this book:

Obviously these are my favourite options! O'Reilly have been great, they deserve your support, and although I only get a small amount in royalties (about a dollar per sale if you're curious), it still pays for the occasional dinner out every month which I appreciate. Plus, real physical books are nice...

TIP: I don't recommend you use Google Play Books, or at least not their PDF version, it's horrible

Alternatively, or in the meantime, help yourself here! It's all free and CC-licenced (thanks O'Reilly!). 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! [email protected]


Intermediate TDD workshops in London and Portland

I'm running some new workshops loosely based on some of the later chapters in the book, aimed at discussing some intermediate TDD issues: the outside-in approach, and the pros and cons of mocks and test isolation.

Thu 31 March 2016 by Harry

Testing, async, asyncio, and performance

An ill-advised experiment in process management ends up with interesting comparisons of different Python async frameworks, and some tests that work for all of them.

Sun 27 December 2015 by Harry

[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

« 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.