Good question. My opinion is that we should support Minitest as well as RSpec, since it's built into Ruby and has literally replaced Test::Unit. I would be curious what other people think (@drapergeek, @mxie), but the fact is that some people use Minitest and I think if they want to use our stuff they should be allowed to do so without having to switch to RSpec.

However. I just took a peek at the project you mentioned, and I forgot that Minitest has its own matcher system, which we definitely do not even attempt to integrate with now.

So I don't have a great answer but I feel like we should hold off fully integrating with Minitest right now and defer it to 3.0. This would dovetail nicely with my plan to provide explicit require paths for integration with specific test frameworks. I can imagine three now:

``` ruby
# Choose one:
require 'shoulda/matchers/test_unit'
require 'shoulda/matchers/minitest'
require 'shoulda/matchers/rspec'
```

This also raises another question: if we introduce other independent matchers in the future, should we split them off into a separate gem so that people can use them separately? So for instance:

* shoulda-matchers-ruby (plugs into T::U / Minitest / RSpec)
* shoulda-matchers-rails (plugs into AS::TC / rspec-rails; includes shoulda-matchers-ruby)

and then:

``` ruby
# Have a Ruby project? Choose one:
require 'shoulda/matchers/ruby/test_unit'
require 'shoulda/matchers/ruby/minitest'
require 'shoulda/matchers/ruby/rspec'

# Have a Rails project? Choose one:
require 'shoulda/matchers/rails/test_unit'
require 'shoulda/matchers/rails/minitest'
require 'shoulda/matchers/rails/rspec'
```

Maybe that's a decision we're not quite ready to make just yet, though.