Skip to main

Testing and Django

Django has a fair bit of custom test code: a custom TestSuiteRunner, custom TestCase subclasses, some test-only monkeypatches to core Django code, and a raft of testing utilities. I’ll cover as much of that code as I find interesting and non-trivial, taking a close look at what it’s actually doing and what that means for your tests.

This will be a highly opinionated talk. There are some things in Django’s test code I really don’t like; I’ll talk about why, and how I’d like to see them changed. As a natural part of this, I’ll also be outlining some principles I try to follow for writing effective and maintainable tests, and note where Django makes it easy or hard.

This is an “extreme” talk, so I’ll be assuming you’ve used Django and done some testing, and you’re familiar with the basic concepts of each. This won’t be an introductory “testing with Django” howto.

Upcoming Workshop

Mia from behind,
standing at a laptop -
speaking to a conference audience
and gesturing to one side

Cascading Style Systems

A workshop on resilient & maintainable CSS

New CSS features are shipping at an unprecedented rate – cascade layers, container queries, the :has() selector, subgrid, nesting, and so much more. It’s a good time to step back and understand how these tools fit together in a declarative system – a resilient cascade of styles.

Register for the October workshop »