Minitest 3.0.0 Released

minitest version 3.0.0 has been released!

minitest provides a complete suite of testing facilities supporting
TDD, BDD, mocking, and benchmarking.

"I had a class with Jim W. on testing last week and we were
 allowed to choose our testing frameworks. Kirk H. and I were
 paired up and we cracked open the code for a few test
 frameworks...

 I MUST say that minitest is *very* readable / understandable
 compared to the 'other two' options we looked at. Nicely done and
 thank you for helping us keep our mental sanity."

-- Wayne E. Seguin

minitest/unit is a small and incredibly fast unit testing framework.
It provides a rich set of assertions to make your tests clean and
readable.

minitest/spec is a functionally complete spec engine. It hooks onto
minitest/unit and seamlessly bridges test assertions over to spec
expectations.

minitest/benchmark is an awesome way to assert the performance of your
algorithms in a repeatable manner. Now you can assert that your newb
co-worker doesn’t replace your linear algorithm with an exponential
one!

minitest/mock by Steven B., is a beautifully tiny mock (and stub)
object framework.

minitest/pride shows pride in testing and adds coloring to your test
output. I guess it is an example of how to write IO pipes too. :stuck_out_tongue:

minitest/unit is meant to have a clean implementation for language
implementors that need a minimal set of methods to bootstrap a working
test suite. For example, there is no magic involved for test-case
discovery.

"Again, I can't praise enough the idea of a testing/specing
 framework that I can actually read in full in one sitting!"

-- Piotr S.

Changes:

3.0.0 / 2012-05-08

  • 3 major enhancements:

    • Added Object#stub (in minitest/mock.rb).
    • Mock#expect mocks are used in the order they’re given.
    • Mock#verify now strictly compares against expect calls.
  • 3 minor enhancements:

    • Added caller to deprecation message.
    • Mock error messages are much prettier.
    • Removed String check for RHS of assert/refute_match. This lets
      #to_str work properly.
  • 1 bug fix:

    • Support drive letter on Windows. Patch provided from MRI by Usaku
      NAKAMURA. (ayumin)