I’ve been undergoing a "Test-Driven Development (TDD) Midlife Crisis", in which I've been critically examining how I test drive code. During this process, I've been thinking about the kinds of tests I write, how much I mock, when to mock, and other fundamental questions of test-driven development. Over my Thanksgiving vacation, I re-read the seminal book on TDD, Test-Driven Development By Example by Kent Beck. It's a quick enough read, which reminded me of something that I'd been saying for a while without fully understanding the implications: TDD is more about confidence in your code and designs than it is about proving correctness. Here’s how I went about re-familiarizing myself with this concept.