class TestBench::Output::Summary
Attributes
current_file[RW]
elapsed_time[W]
error_count[W]
errors_by_file[W]
failure_count[W]
file_count[W]
pass_count[W]
skip_count[W]
test_count[W]
timer[W]
Public Class Methods
build(writer: nil, device: nil, styling: nil)
click to toggle source
# File lib/test_bench/output/summary.rb, line 62 def self.build(writer: nil, device: nil, styling: nil) instance = new instance.configure(writer: writer, device: device, styling: styling) instance end
Public Instance Methods
configure(writer: nil, device: nil, styling: nil)
click to toggle source
# File lib/test_bench/output/summary.rb, line 57 def configure(writer: nil, device: nil, styling: nil) Writer.configure(self, writer: writer, device: device, styling: styling) Timer.configure(self) end
elapsed_time()
click to toggle source
# File lib/test_bench/output/summary.rb, line 38 def elapsed_time @elapsed_time ||= 0 end
enter_file(file)
click to toggle source
# File lib/test_bench/output/summary.rb, line 68 def enter_file(file) timer.start self.current_file = file end
error(error)
click to toggle source
# File lib/test_bench/output/summary.rb, line 96 def error(error) errors_by_file[current_file] << error self.error_count += 1 end
error_count()
click to toggle source
# File lib/test_bench/output/summary.rb, line 33 def error_count @error_count ||= 0 end
error_summary()
click to toggle source
# File lib/test_bench/output/summary.rb, line 112 def error_summary return if errors_by_file.empty? writer .escape_code(:bold) .escape_code(:red) .text('Error Summary:') .escape_code(:reset_intensity) .escape_code(:reset_fg) .newline errors_by_file.each do |file, errors| error_count = errors.count writer .text(error_count.to_s.rjust(4, ' ')) .text(": #{file}") .newline errors.each do |error| writer .text(' ') .escape_code(:red) PrintError.error_message(error, writer: writer) writer.escape_code(:reset_fg) end end writer.newline end
errors_by_file()
click to toggle source
# File lib/test_bench/output/summary.rb, line 48 def errors_by_file @errors_by_file ||= Hash.new do |hash, key| hash[key] = [] end end
exit_file(_, _)
click to toggle source
# File lib/test_bench/output/summary.rb, line 74 def exit_file(_, _) elapsed_time = timer.stop self.elapsed_time += elapsed_time self.file_count += 1 end
failure_count()
click to toggle source
# File lib/test_bench/output/summary.rb, line 28 def failure_count @failure_count ||= 0 end
file_count()
click to toggle source
# File lib/test_bench/output/summary.rb, line 8 def file_count @file_count ||= 0 end
finish(_)
click to toggle source
# File lib/test_bench/output/summary.rb, line 102 def finish(_) error_summary session_summary end
finish_test(_, result)
click to toggle source
# File lib/test_bench/output/summary.rb, line 82 def finish_test(_, result) self.test_count += 1 if result self.pass_count += 1 else self.failure_count += 1 end end
pass_count()
click to toggle source
# File lib/test_bench/output/summary.rb, line 18 def pass_count @pass_count ||= 0 end
session_summary()
click to toggle source
# File lib/test_bench/output/summary.rb, line 108 def session_summary Session.(file_count: file_count, test_count: test_count, pass_count: pass_count, skip_count: skip_count, failure_count: failure_count, error_count: error_count, elapsed_time: elapsed_time, writer: writer) end
skip_count()
click to toggle source
# File lib/test_bench/output/summary.rb, line 23 def skip_count @skip_count ||= 0 end
skip_test(_)
click to toggle source
# File lib/test_bench/output/summary.rb, line 92 def skip_test(_) self.skip_count += 1 end
test_count()
click to toggle source
# File lib/test_bench/output/summary.rb, line 13 def test_count @test_count ||= 0 end
timer()
click to toggle source
# File lib/test_bench/output/summary.rb, line 43 def timer @timer ||= Timer::Substitute.build end