class BlinkaMinitest
Public Class Methods
new(test_result)
click to toggle source
# File lib/blinka_minitest.rb, line 2 def initialize(test_result) @test_result = test_result end
Public Instance Methods
backtrace()
click to toggle source
# File lib/blinka_minitest.rb, line 36 def backtrace return unless @test_result.failure Minitest.filter_backtrace(@test_result.failure.backtrace) end
image()
click to toggle source
# File lib/blinka_minitest.rb, line 61 def image return unless kind == 'system' image_path = "./tmp/screenshots/failures_#{name}.png" return unless File.exist?(image_path) image_path end
kind()
click to toggle source
# File lib/blinka_minitest.rb, line 25 def kind parts = self.path.gsub('test/', '').split('/') parts.length > 1 ? parts.first : 'general' end
line()
click to toggle source
# File lib/blinka_minitest.rb, line 10 def line @line ||= source_location.last end
message()
click to toggle source
# File lib/blinka_minitest.rb, line 30 def message failure = @test_result.failure return unless failure "#{failure.error.class}: #{failure.error.message}" end
name()
click to toggle source
# File lib/blinka_minitest.rb, line 57 def name @test_result.name end
path()
click to toggle source
# File lib/blinka_minitest.rb, line 6 def path @path ||= source_location.first.gsub(Dir.getwd, '').delete_prefix('/') end
report()
click to toggle source
# File lib/blinka_minitest.rb, line 70 def report { backtrace: backtrace, message: message, line: line, image: image, kind: kind, name: name, path: path, result: result, time: time }.compact end
result()
click to toggle source
# File lib/blinka_minitest.rb, line 41 def result if @test_result.error? :error elsif @test_result.skipped? :skip elsif @test_result.failure :fail else :pass end end
source_location()
click to toggle source
Handle broken API in Minitest
between 5.10 and 5.11 github.com/minitest-reporters/minitest-reporters/blob/e9092460b5a5cf5ca9eb375428217cbb2a7f6dbb/lib/minitest/reporters/default_reporter.rb#L159
# File lib/blinka_minitest.rb, line 16 def source_location @source_location ||= if @test_result.respond_to?(:klass) @test_result.source_location else @test_result.method(@test_result.name).source_location end end
time()
click to toggle source
# File lib/blinka_minitest.rb, line 53 def time @test_result.time end