Don’t end up twirling down the bad-test death spiral! Coding unit tests is an investment, and if you’re not careful, it will all be for naught: Many teams quickly built a significant number of unit tests, only to find out that the low quality of the tests pushes them into disuse, then to disrepair/dysfunction, and ultimately to discarded.
Part of sustaining TDD or “test-after development” (TAD) unit testing is recognizing that the tests must play a role as documentation on the behaviors of the system under test. In this hands-on workshop, we’ll focus on applying the notion of abstraction–amplifying essential elements and suppressing irrelevant details–to unit tests. You’ll learn to sniff out a couple handfuls of test smells that relate to poor test abstraction. You’ll work on eliminating these smells to create tests that are literary and immediately obvious. (And you’ll hear a bit about why this pays off.)
You’ll find codebases for this workshop in Java and C#. Download now from [GitHub](https://github.com/jlangr/utabstraction) and get ready to clean up! And don’t forget to bring a laptop to the session. Well, it might be ok to forget your laptop, as long as you’re ok with pairing with someone else.