minitest version 4.5.0 has been released!
Published 2013-01-22 @ 19:30
minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.
"I had a class with Jim Weirich on testing last week and we were allowed to choose our testing frameworks. Kirk Haines 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 Baker, 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. :P
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 Szotkowski
Comparing to rspec:
rspec is a testing DSL. minitest is ruby. -- Adam Hawkins, "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.
4.5.0 / 2013-01-22
1 major enhancement:
- Rearranged minitest/unit.rb so NO parallelization code is loaded/used until you opt-in.
4 minor enhancements:
- Added TestCase#skipped? for teardown guards
- Added maglev? guard
- Document that record can be sent twice if teardown fails or errors (randycoulman)
- Errors in teardown are now recorded. (randycoulman)
3 bug fixes:
- Added hacks and skips to get clean test runs on maglev
- Modified float tests for maglev float output differences. Not sure this is right. Not sure I care.
- Test for existance of diff.exe instead of assuming they have devkit. (blowmage/Cumbayah)
- rdoc: http://docs.seattlerb.org/minitest
- home: https://github.com/seattlerb/minitest
- vim: https://github.com/sunaku/vim-ruby-minitest