[ruby-talk:444397] [ANN] minitest 5.21.0 Released

minitest version 5.21.0 has been released!

* home: <https://github.com/minitest/minitest&gt;
* bugs: <https://github.com/minitest/minitest/issues&gt;
* rdoc: <https://docs.seattlerb.org/minitest&gt;
* clog: <https://github.com/minitest/minitest/blob/master/History.rdoc&gt;
* vim: <https://github.com/sunaku/vim-ruby-minitest&gt;
* emacs: <https://github.com/arthurnn/minitest-emacs&gt;

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/test 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/test 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. :stuck_out_tongue:

minitest/test 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.

Changes:

### 5.21.0 / 2024-01-11

* 10 minor enhancements:

  * Add include_all kw arg to assert_respond_to and refute_respond_to.
  * Added --quiet flag to skip ProgressReporter (prints the dots). Minor speedup.
  * Added Minitest::Compress#compress and added it to UnexpectedError.
  * Added ability to initialize BacktraceFilter w/ custom regexp.
  * Filter failure backtraces using backtrace_filter before calculating location. (thomasmarshall)
  * Make BacktraceFilter#filter compatible with locations (still compares strings).
  * Optimized Assertion#location ~30%.
  * Output relative paths for all failures/errors/backtraces.
  * Refactored location information in assertions, now using locations.
  * Removed thread and mutex_m dependencies. (hsbt, eregon)

* 2 bug fixes:

  * Drop undocumented bt arg in #skip. Dunno why that ever happened, prolly for testing?
  * Fix mock to work with ruby debugger enabled. (keithlayne)

ยทยทยท

______________________________________________
ruby-talk mailing list -- ruby-talk@ml.ruby-lang.org
To unsubscribe send an email to ruby-talk-leave@ml.ruby-lang.org
ruby-talk info -- Info | ruby-talk@ml.ruby-lang.org - ml.ruby-lang.org