On Nov 12, 2008, at 10:23 , Dave Thomas wrote:

>
> On Nov 12, 2008, at 12:55 PM, Ryan Davis wrote:
>
>> I've been talking to both John and Dave Thomas about this  
>> (separately). Currently minitest/unit.rb is analogous to test/unit/ 
>> testcase.rb, not test/unit.rb and I really like it that way. It  
>> means I can finally write abstract testcases w/o autorun side  
>> effects (and w/o the undef_method madness from test/unit). But, I  
>> agree that the current situation is confusing and less than ideal.  
>> I think the simplest thing that could possibly work is to have an  
>> explicit require for autorun behavior:
>>
>> # minitest/autorun.rb:
>>
>> require 'minitest/unit'
>> require 'minitest/spec'
>> require 'minitest/mock'
>>
>> MiniTest::Unit.autorun
>>
>> ---
>>
>> What do you guys think?
>
> (As you know.. :) I'd vote for autorun being the default, as most  
> people use it, and making it possible to disable autorun when you  
> define the tests.

after careful consideration, I decided against this. One of Jeremy  
Kemper's latest bugs (on ruby 1.9) was the final straw. I weighed the  
pros and cons of going with your idea of having a special superclass  
construct to disable autorun for abstract testcases, and that was  
finally rejected because it wasn't the simplest thing that could  
possibly work. I finalized (as finalized as I ever get at least) on  
'minitest/autorun.rb' as the simplest thing that could possibly work.  
It is already in ruby trunk and will go out in the next release of  
minitest. (I should point out that I only did the first require, not  
spec or mock).

It just makes much more sense to me from a design perspective.