Minitest 4.7.4 Released

minitest version 4.7.4 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.

Comparing to rspec:

rspec is a testing DSL. minitest is ruby.

-- Adam H., "Bow Before MiniTest"

minitest doesn’t reinvent anything that ruby already provides, like:
classes, modules, inheritance, methods. This means you only have to
learn ruby to use minitest and all of your regular OO practices like
extract-method refactorings still apply.

Changes:

4.7.4 / 2013-05-01

This is probably the last release of the 4.x series. It will be merged
to ruby and will be put into maintenance mode there.

I’m not set in stone on this, but at this point further development of
minitest (5+) will be gem-only. It is just too hard to work w/in
ruby-core w/ test-unit compatibility holding minitest development
back.

  • 2 minor enhancements:

    • Added count/size to ParallelEach to fix use w/in stdlib’s test/unit.
      :frowning: (btaitelb)
    • Allow disabling of info_signal handler in runner. (erikh)