Video: Is TDD dead? 1: TDD and Confidence
Is TDD dead? 1: TDD and Confidence
3 things that bother me
1) What is a unit test
can't have colaborators
can't touch db, file system
fast, <1s
-> no use out of unit tests that don't talk to colaborators
2) Driving arch through mocks
mock heavy&enabling arch
testing induced damage
"Unit testing all the things"
3) Red-Green-Refactor
sometimes it works
sometimes it does not work
===
1) What is a unit test
KentBeck
output tape, input tape, then build it
personality, anxiety
test-first appeared later
"as a programmer, do you deserver to feel confident"
ruby -> programmer happiness
minds operate differently:
write hypothesis first
"If I cannot write a test first, I have no business implementing it"
vs
"thinking through it while I write"
principle = confidence
tdd is one option
TDD flow
when clear input, and clear output
TDD trade-offs
making intermediate results testable is a cost
better design decisions
"""
If I can't test efficiently without creating a mock, I find another way to create a feedback loop for myself.
"""
-- KentBeck
Isolation
class vs test
self-testing code vs TDD
self-testing code
click of a button
within reasonable time
TDD
a way to achieve that
:(
self-testing code is side benefit
well tested code by driving design through tests is the main benifit
Is TDD dead? [Part I] |