minitest, test::unit, and rails
minitest, ruby, ruby-on-rails, testunit
Solution
There is a `Test::Unit` "compatibility" module that comes with Minitest, so that you can (presumably) use your existing Test::Unit tests as-is. This is probably the `Test::Unit` module you are seeing.
As of rails 3.2.3, generator-created tests include `rails/test_help` which includes `test/unit`.
The `test "something" do` syntax is a rails extension. It's defined in `ActiveSupport::Testing::Declarative`, which is `require`'d by `rails/test_help`.
Problem
I read somewhere that 'minitest' is the "new test::unit for ruby 1.9.2+". But ruby 1.9.3 seems to include both test::unit and minitest, is that true? In the default rails testing, as outlined in the Rails testing guide.... things like `ActiveSupport::TestCase`, `ActionController::TestCase`, are these using `Test::Unit` or `Minitest`? In the rails guide, it shows examples with tests defined like this: ``` test "should show post" do get :show, :id => @post.id assert_response :success end ``` That syntax, `test string`, as opposed to defining methods with names like `test_something` -- isn't mentioned in the docs for either `Test::Unit` or Minitest. Where's that coming from? Is Rails adding it, or is it actually a part of... whatever testing lib rails is using? PS: Please don't tell me "just use rspec". I know about rspec. I am trying to explore the stdlib alternatives, in the context of rails.