Sha256: 7c5970569028cae8f23b69c87a3b6ea10a733b47bb98bd63eba1d602c632a6fc

Contents?: true

Size: 1.36 KB

Versions: 16

Compression:

Stored size: 1.36 KB

Contents

require 'test/unit/testcase'

if defined?(MiniTest)
  require 'mocha/integration/mini_test'
  require File.expand_path('../mini_test_result', __FILE__)
else
  require 'test/unit/testresult'
end

module TestRunner
  def run_as_test(test_result = nil, &block)
    test_class = Class.new(Test::Unit::TestCase) do
      define_method(:test_me, &block)
    end
    test = test_class.new(:test_me)

    if defined?(Test::Unit::TestResult)
      test_result ||= Test::Unit::TestResult.new
      test.run(test_result) {}
      class << test_result
        attr_reader :failures, :errors
        def failure_messages
          failures.map { |failure| failure.message }
        end
        def failure_message_lines
          failure_messages.map { |message| message.split("\n") }.flatten
        end
        def error_messages
          errors.map { |error| error.message }
        end
      end
    else
      runner = MiniTest::Unit.new
      test.run(runner)
      test_result = MiniTestResult.new(runner, test)
    end

    test_result
  end

  def assert_passed(test_result)
    flunk "Test failed unexpectedly with message: #{test_result.failures}" if test_result.failure_count > 0
    flunk "Test failed unexpectedly with message: #{test_result.errors}" if test_result.error_count > 0
  end

  def assert_failed(test_result)
    flunk "Test passed unexpectedly" if test_result.passed?
  end

end

Version data entries

16 entries across 15 versions & 3 rubygems

Version Path
bourne-1.6.0 test/test_runner.rb
bourne-1.5.0 test/test_runner.rb
challah-1.0.0.beta3 vendor/bundle/gems/bourne-1.4.0/test/test_runner.rb
challah-1.0.0.beta2 vendor/bundle/gems/bourne-1.4.0/test/test_runner.rb
challah-1.0.0.beta vendor/bundle/gems/bourne-1.4.0/test/test_runner.rb
challah-1.0.0.beta vendor/bundle/gems/bourne-1.1.2/test/test_runner.rb
bourne-1.4.0 test/test_runner.rb
bourne-1.3.2 test/test_runner.rb
challah-0.9.1.beta.3 vendor/bundle/gems/bourne-1.1.2/test/test_runner.rb
devise_sociable-0.1.0 vendor/bundle/gems/bourne-1.1.2/test/test_runner.rb
challah-0.9.1.beta vendor/bundle/gems/bourne-1.1.2/test/test_runner.rb
challah-0.9.0 vendor/bundle/gems/bourne-1.1.2/test/test_runner.rb
bourne-1.3.0 test/test_runner.rb
bourne-1.2.1 test/test_runner.rb
bourne-1.2.0 test/test_runner.rb
bourne-1.1.2 test/test_runner.rb