Have you worked on a test suite where you're cursing it more often than you're thanking it for helping you out? I sure have! I have written them myself, seen a good suite degrade into it over time, and even taken over messes.
I will share the constraints I put on my test suites that help me maintain them and why they help. We'll look at how to discover when you're breaking these constraints and solutions to make living with the constraints simpler.
Presented at GopherCon Singapore with a recording on Youtube.
Links in the presentation:
- Presentation git repo
- Rob Pike: Self-referential functions and the design of options
- Justin Searls: Please don’t mock me. A great talk that talks about the steps to make sure you don’t mix collaboration and business logic, walks through how to think about mocks in an effective way, which is the big missing piece in this presentation
- Jay Fields: Working Effectively With Unit Tests. Where I picked up most of the things for how to highlight differences, great exploration of builders, and how to think about unit testing
- GeePaw Hill: Many More Much Smaller Steps and Microtest TDD. To get some good ideas about how to think about testing and moving in smaller steps. GeePaw's Leading Technical Change course is also fantastic if you want to get ideas for how to influence others to get changes across an org