... is a pain. I wasn't at ZendCon this past week, but I read a lot of tweets about it, and a lot of comments on joind.in.

One of the sessions was by Stefan Priebsch and Sebastian Bergman, "Taming the Untestable Beast". They used a little bit of code written specifically for the purpose. One thing you'll notice about this code is that it is hardly a beast. The small physical size of this program makes it an interesting case study.

Stefan and Sebastian had a three hour window to work on this code and make it less of an "untestable beast." My understanding is that they were successful. But I'd like to consider the point that the beast they were working to tame looks pretty good at first glance. The largest component of the beast is the UserController. The whole file is 44 lines, and the code is contained in a nice class. They even have a nice test suite for it.

I don't want to recreate the session, but it can be instructive to sit down for 20 minutes and list deficiencies in the beast. Once the problems are spotted, solving them becomes considerably easier.