On Sep 30, 2008, at 1:27 AM, Ryan Davis wrote:

> I think the main thing I've been learning from you and Dave is that  
> your (collective) perception of miniunit is vastly different than  
> mine.
>
> miniunit, in my mind, doesn't "masquerade" as test/unit... at least,  
> no more than any duck typing "masquerades" as the thing it is being  
> used as. It IS test/unit's mutated child and can be used in place of  
> test/unit... I just think of it as test/unit 2.0... it maintains  
> full backwards compatibility, for now, and later the deprecated  
> stuff will drop off, making it even lighter/better/happier.

Ryan:

I applaud your efforts here, and don't want you to feel in any way put  
upon. I think personally I just want to advocate for the average user  
migrating to Ruby 1.9.

For example, the deprecations are fine in theory. But think about how  
tests are supposed to work. You run them, and they're supposed to be  
silent. Maybe a row of dots, but that's it. Any output means there's a  
problem.

But now, when I run my tests, I get pages of stuff flying by, saying  
stuff is deprecated. To someone who lives by tests, this is incredibly  
scary.

You might say "change your tests". But I think that's being a little  
harsh. Part of being compatible with Test::Unit is providing a similar  
user-level experience to it. A minor heart attack the first time you  
run is a different experience.

What I'd love to do in PickAxe 3 is to tell people "switch from  
Test::Unit to minitest/unit. You get cooler assertions and more speed.  
If you want to user Test::Unit, then install the gem." You'd remove  
test/ from lib, so there was no ambiguity, and you'd add autorunner to  
minitest/unit, making it self contained. That way it would be 100%  
clear that we're running something which is the next generation. It  
would also free you from the shackles of having to be compatible.

I just don't see the downside to this, and I see a lot of benefits.



Dave