TDD for APIs
summary
Claims that TDD shapes API design into a usable product, implemented with py.test and django, and proven on a 12 month project that produces ~3,000 tests (about 2,000 unit and many acceptance tests). Tests run in CI in about 45 minutes after optimization. The suite covers versioned endpoints, isolates integration tests in a separate package, validates Celery asynchronous flows end‑to‑end, and lets the team refactor behavior safely.
AI-written summary · about
chapters (24)
- 0:00Intro
- 1:25About me
- 2:35How can we validate
- 3:50Why TDD
- 5:41API Architecture
- 6:08API Isolation
- 7:31API Output
- 8:47Unknown
- 10:28Unit tests
- 11:04Acceptance tests
- 11:59BDD cycle
- 14:35Test numbers
- 15:33Test architecture
- 18:56Test from the beginning
- 19:09TDD principle
- 20:10Test environment setup
- 23:28Versioning endpoints
- 24:18Asynchronous behaviors
- 25:45Celery Cash
- 28:32Celery Helper
- 29:02More Tests
- 30:40Inverse Design
- 34:09Lessons Learned
- 35:26Questions
related talks
35mTurning test writing into a consistently brief and pleasant experience
44mTDD (Pythonowych) Mikroserwisów
32mEasy, Breezy, Beautiful... Django Unit Tests with Colleen Dunlap
52mBuilding Operable Software with TDD (but not the way you think)
22mBDD (Behavior Driven Development) Testing for Django Apps
49mKeynote - Testing in Django
01h 01mTDD Revisited
26mUnit tests and TDD does NOT have to be boring
