Metadata
Highlights
- The test-first part was a wonderful set of training wheels that taught me how to think about testing at a deeper level, but also some I quickly left behind.
- Note: It is exactly the same metaphor I had in mind
- whatever it started out as, it was soon since corrupted.
- Note: As with many things
- Test-first fundamentalism
- Note: A follow up to Writing software - DHH
- It’s given birth to some truly horrendous monstrosities of architecture. A dense jungle of service objects, command patterns, and worse.
- I test Active Record models directly, letting them hit the database, and through the use of fixtures.
- Note: The thing is, these tests still run quite fast
- more emphasis on, yes, slow, system tests. (Which btw do not need to be so slow any more, thanks to advances in parallelization and cloud runner infrastructure).
He also points out to Why Most Unit Testing is Waste(annotated copy), that, although it has some interesting takeaways (such as some units tests should be really assertions in production code), it’s kind of a rambling with a false dichotomy between design and thinking and leaving everything up to unit tests. Also, it quotes a paper, Does Test-Driven Development Really Improve Software Design Quality? | IEEE Journals & Magazine | IEEE Xplore(annotated copy) as a “debunker” of the myths of TDD and it’s simply not what the paper does: there are improvements in terms of complexity, not clear results on cohesion, and there is more coupling in TDD but not clear whether it is bad coupling (change cascade) or good coupling (through interfaces: flexible).