class MiniAssert::TestRunnable

Finds, load and run test in given directory

Public Class Methods

new(path = '.', file_matcher = /.+_test\.rb$/) click to toggle source
# File lib/mini_assert/test_runnable.rb, line 8
def initialize(path = '.', file_matcher = /.+_test\.rb$/)
  @path = path
  @file_matcher = file_matcher
  require_test
end

Public Instance Methods

run!() click to toggle source
# File lib/mini_assert/test_runnable.rb, line 14
def run!
  MiniAssert::TestSuite.new(testable_classes).run!
end

Private Instance Methods

require_test() click to toggle source
# File lib/mini_assert/test_runnable.rb, line 32
def require_test
  test_files.each do |file|
    require file
  end
end
test_files() click to toggle source
# File lib/mini_assert/test_runnable.rb, line 38
def test_files
  @test_files ||= begin
                    found_files = []
                    Find.find(@path) do |file|
                      found_files << file if file =~ @file_matcher
                    end
                    found_files
                  end
end
testable_classes() click to toggle source
# File lib/mini_assert/test_runnable.rb, line 20
def testable_classes
  @testable_classes ||= begin
                          classes = []
                          ObjectSpace.each_object(Class) do |class_const|
                            next unless class_const < MiniAssert::TestCase

                            classes << class_const
                          end
                          classes
                        end
end