class Testcube::Tracker
Attributes
current_description[W]
current_exception[W]
current_line_number[W]
current_test_path[W]
test_files_with_time[R]
Public Class Methods
new()
click to toggle source
# File lib/testcube/tracker.rb, line 10 def initialize set_defaults end
Public Instance Methods
current_description()
click to toggle source
# File lib/testcube/tracker.rb, line 41 def current_description raise("current_description needs to be set") unless @current_description @current_description end
current_exception()
click to toggle source
# File lib/testcube/tracker.rb, line 46 def current_exception # can be nil @current_exception end
current_line_number()
click to toggle source
# File lib/testcube/tracker.rb, line 36 def current_line_number raise("current_line_number needs to be set") unless @current_line_number @current_line_number end
current_test_path()
click to toggle source
# File lib/testcube/tracker.rb, line 31 def current_test_path raise("current_test_path needs to be set") unless @current_test_path @current_test_path.sub(/^\.\//, '') end
num_specs()
click to toggle source
# File lib/testcube/tracker.rb, line 55 def num_specs test_files_with_time.length end
start_timer()
click to toggle source
# File lib/testcube/tracker.rb, line 14 def start_timer @start_time = now_without_mock_time.to_f end
stop_timer()
click to toggle source
# File lib/testcube/tracker.rb, line 18 def stop_timer execution_time = @start_time ? now_without_mock_time.to_f - @start_time : 0.0 @test_files_with_time.push({ test_file: current_test_path, line_number: current_line_number, description: current_description, status: current_exception ? :fail : :pass, # TODO: we could have a better way to filter the backtrace backtrace: current_exception ? current_exception.backtrace.select { |s| s !~ /gems\/.*(rspec|bin)/ } : nil, execution_time: execution_time }) end
total_time()
click to toggle source
# File lib/testcube/tracker.rb, line 51 def total_time test_files_with_time.map { |res| res[:execution_time] }.sum end
Private Instance Methods
now_without_mock_time()
click to toggle source
# File lib/testcube/tracker.rb, line 66 def now_without_mock_time if defined?(Timecop) Time.now_without_mock_time else Time.now end end
set_defaults()
click to toggle source
# File lib/testcube/tracker.rb, line 61 def set_defaults @global_time = 0 @test_files_with_time = [] end