Mocha Release 0.13.0

Hopefully no more monkey-patching of test libraries.

Release Notes

  • Major overhaul of MiniTest & Test::Unit integration. Mocha now integrates with later versions of the two test libraries using documented hooks rather than monkey-patching. This should mean that Mocha will integrate with new versions of either library without the need to release a new version of Mocha each time, which was clearly bad and unsustainable. Many thanks to @tenderlove, @zenspider & @kou for their help, suggestions & patience.
  • Temporarily deprecated require 'mocha'. Use require 'mocha/setup' instead. The plan is that eventually require 'mocha' will not automatically integrate with either of the two test libraries as it does at the moment, and you’ll need to explicitly & separately trigger the integration. I think this will provide a lot more flexibility and will hopefully do away with the need for the require: false option in the Gemfile which has always confused people.
  • Deprecated require 'mocha_standalone' and require 'mocha/standalone'. Use require 'mocha/api instead.
  • Although these are not part of Mocha’s public API, I thought I should mention that the MiniTest and Test::Unit assertion counter classes have been combined into a single class Mocha::Integration::AssertionCounter.
  • Extracted Mocha::Hooks module from Mocha::API and added documentation for test library authors.
  • Improvements to documentation. Much of it has been combined into the README file.
  • Fix for issue #101Mock#respond_to? doesn’t work with a String argument – thanks to @urbanautomaton.
  • Fix for issue #105 – Travis CI link in the README – thanks to @cknadler.
  • Various improvements to automated testing of integration with test libraries.
  • Make deprecation warnings more prominent.