On Sep 25, 2008, at 06:40 , Dave Thomas wrote: > > On Sep 25, 2008, at 7:49 AM, Yusuke ENDOH wrote: > >> >> (3) An expected and actual values should be put at head of line. >> This also >> improves visibility much. > > Actually, I disagree with this past point quite strongly. One of the > things I've always wanted to change about Test::Unit was the way > that it reported errors. > > <1> expected but was > <2> > > is ugly and hard to scan. I much prefer having the output on one > line if it fits (and indeed, Test::Unit also put its output on one > line for the infamously bad "<nil> expected to not be nil" error). from a dialog with koichi: I always found the <obj> output to be harder to read... and multiple lines harder to write processors for so I decided early on that all my messages would be in the form of "Expected X, not Y". It is very unambiguous, unlike some of test/unit and all of rspec> It is very parsable. And it is very readable... All of this, of course, is "to me". further thoughts: PP is _really_really_ slow. too slow. By default miniunit should be as fast as freakin' possible. That means inspect. If and where it doesn't look good, the user has every option to override: class TestMyVeryComplexObject < Test::Unit::TestCase def mu_pp(obj) pretty_inspect(obj).gsub(/[\w\/\.]+:\d+/, 'FILE:LINE') end end or... whatever the user wants. I like the idea of giving the control over. Less code on my side (less is more)... Sensible defaults (faster is better)... Ultimately more options available to the user (more is more).