class Knapsack::Adapters::MinitestAdapter
Constants
- REPORT_PATH
- TEST_DIR_PATTERN
Public Class Methods
test_path(obj)
click to toggle source
# File lib/knapsack/adapters/minitest_adapter.rb, line 52 def self.test_path(obj) # Pick the first public method in the class itself, that starts with "test_" test_method_name = obj.public_methods(false).select{|m| m =~ /^test_/ }.first if test_method_name.nil? # case for shared examples method_object = obj.method(obj.location.sub(/.*?test_/, 'test_')) else method_object = obj.method(test_method_name) end full_test_path = method_object.source_location.first parent_of_test_dir_regexp = Regexp.new("^#{@@parent_of_test_dir}") test_path = full_test_path.gsub(parent_of_test_dir_regexp, '.') # test_path will look like ./test/dir/unit_test.rb test_path end
Public Instance Methods
bind_report_generator()
click to toggle source
# File lib/knapsack/adapters/minitest_adapter.rb, line 31 def bind_report_generator Minitest.after_run do Knapsack.report.save Knapsack.logger.info(Presenter.report_details) end end
bind_time_offset_warning()
click to toggle source
# File lib/knapsack/adapters/minitest_adapter.rb, line 38 def bind_time_offset_warning Minitest.after_run do Knapsack.logger.log( Presenter.time_offset_log_level, Presenter.time_offset_warning ) end end
bind_time_tracker()
click to toggle source
# File lib/knapsack/adapters/minitest_adapter.rb, line 23 def bind_time_tracker ::Minitest::Test.send(:include, BindTimeTrackerMinitestPlugin) Minitest.after_run do Knapsack.logger.info(Presenter.global_time) end end
set_test_helper_path(file_path)
click to toggle source
# File lib/knapsack/adapters/minitest_adapter.rb, line 47 def set_test_helper_path(file_path) test_dir_path = File.dirname(file_path) @@parent_of_test_dir = File.expand_path('../', test_dir_path) end