module Mocha::Integration::MiniTest

Public Class Methods

activate() click to toggle source
# File lib/mocha/integration/mini_test.rb, line 22
def self.activate
  return false unless Detection::MiniTest.testcase
  mini_test_version = Gem::Version.new(Detection::MiniTest.version)

  Debug.puts "Detected MiniTest version: #{mini_test_version}"

  integration_module = [
    MiniTest::Adapter,
    MiniTest::Version2112To320,
    MiniTest::Version2110To2111,
    MiniTest::Version230To2101,
    MiniTest::Version201To222,
    MiniTest::Version200,
    MiniTest::Version142To172,
    MiniTest::Version141,
    MiniTest::Version140,
    MiniTest::Version13,
    MiniTest::Nothing
  ].detect { |m| m.applicable_to?(mini_test_version) }

  target = Detection::MiniTest.testcase
  unless target < integration_module
    unless integration_module == MiniTest::Adapter
      Deprecation.warning(
        'Versions of minitest earlier than v3.3.0 will not be supported in future versions of Mocha.'
      )
    end
    Debug.puts "Applying #{integration_module.description}"
    target.send(:include, integration_module)
  end
  true
end
translate(exception) click to toggle source
# File lib/mocha/integration/mini_test/exception_translation.rb, line 6
def self.translate(exception)
  return exception unless exception.is_a?(::Mocha::ExpectationError)
  translated_exception = ::MiniTest::Assertion.new(exception.message)
  translated_exception.set_backtrace(exception.backtrace)
  translated_exception
end