Unit Testing, Agile Development, Leadership & .NET - By Roy Osherove
Some very useful questions raised here, Roy. I'm also of the school that would look for the next simplest failing test - taking the smallest step forward I can think of. That usually involves running the test through in my head based on the current model code and sking "would that fail?" I also like to see the test fail, and again run it through in my head to ask "how will this fail?"
It's also a very interesting point about readaibility. I think in more flexible and economical languages like Ruby it's easy to refactor past the point where your code makes sense to the average John Q. Programmer. Which is why it's a good idea to pair with people across a wide range of abilities (short of rank incompetence, of course). I think Cory's example was just on the right side of readability, but maybe close to the edge :-)