How To Fail With 100% Test Coverage

With an expressive language such as Groovy or Ruby and with modern test practices, 100% C0 test coverage is readily achievable. But 100% coverage is meaningless without other supporting habits and practices. Over the last few years, we have taken dozens of projects to 100% coverage, and there are still plenty of things that can go wrong.

We will look at examples of each of these problems, and show how to prevent them from infecting your project:

  • Fragile mocking
  • Pair bravado
  • The ugly mirror
  • Parallel abstraction
  • Overspecification
  • Underspecification
  • Invisible code
  • Misplaced exemplar

Updated: Jason Rudolph has written a series of articles that are a companion to this talk.