Roy Osherove (Manning) Language-agnostic but the principles translate directly to Python. Chapters 1–4 are required reading for anyone who wants to understand why tests are structured the way they are.