class Minitest::Reporters::Ws::Reporter
A reporter based on rspec-web by RyanScottLewis
Constants
- EMOJI
Attributes
client[RW]
metadata[RW]
test_count[RW]
timestamp[RW]
Public Class Methods
new(opts = {})
click to toggle source
MUTEX on MiniTest::ReporterRunner?
# File lib/minitest/reporters/ws/reporter.rb, line 24 def initialize(opts = {}) @config = conf = ::Minitest::Reporters::Ws::Client::DEFAULT_CONFIG @emoji = EMOJI.merge(opts.fetch(:emoji, {})) init_counts init_suite_counts end
Public Instance Methods
after_suite(suite)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 59 def after_suite(suite) if @test_count > 1 @suites_results.each_key { |k| @suites_results[k] += @results[k] } print_after_suite(suite) end end
after_suites(suites, type)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 50 def after_suites(suites, type) print_after_suites client.close end
after_test(suite,test)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 72 def after_test(suite,test) @test_count += 1 @suite_test_count += 1 end
before_suite(suite)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 55 def before_suite(suite) init_counts end
before_suites(suite, type)
click to toggle source
MINITEST HOOKS
# File lib/minitest/reporters/ws/reporter.rb, line 40 def before_suites(suite, type) init_client set_timestamp set_metadata init_suite_counts client.identify total_tests = metadata[:test_count] start_new_iteration(total_tests) if total_tests > 0 end
before_test(suite,test)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 66 def before_test(suite,test) # need to move towards using metadata[:test_count], etc @test_count ||= 0 @suite_test_count ||= 0 end
error(suite, test, test_runner)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 97 def error(suite, test, test_runner) @results['E'] += 1 print_err(suite,test,test_runner) add_to_erring(to_metadata(runner, test_runner)) end
failure(suite, test, test_runner)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 91 def failure(suite, test, test_runner) @results['F'] += 1 print_fail(suite,test,test_runner) add_to_failing(to_metadata(runner, test_runner)) end
init_client()
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 33 def init_client client #find_or_create_client(conf) end
pass(suite, test, test_runner)
click to toggle source
MINITEST PASS/FAIL/ERROR/SKIP
# File lib/minitest/reporters/ws/reporter.rb, line 79 def pass(suite, test, test_runner) @results['P'] += 1 print_pass(suite,test,test_runner) add_to_passing(to_metadata(runner, test_runner)) end
skip(suite, test, test_runner)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 85 def skip(suite, test, test_runner) @results['S'] += 1 print_skip(suite,test,test_runner) add_to_pending(to_metadata(runner, test_runner)) end
Private Instance Methods
init_count_hash()
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 165 def init_count_hash { 'P' => 0, 'E' => 0, 'F' => 0, 'S' => 0 } end
init_counts()
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 177 def init_counts @test_count = 0 @results = init_count_hash end
init_suite_counts()
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 172 def init_suite_counts @suites_test_count = 0 @suites_results = init_count_hash end
set_metadata()
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 145 def set_metadata @metadata = { test_options: unit_runner.options, test_count: unit_runner.test_count, #replace @timestamp? #start_time: unit_runner.suites_start_time.to_i } # updated after tests run #[runner.test_count, # runner.assertion_count, # runner.failures, # runner.errors, # runner.skips] end
set_timestamp()
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 161 def set_timestamp @timestamp = Time.now.to_i end
to_metadata(runner, test_runner = nil)
click to toggle source
# File lib/minitest/reporters/ws/reporter.rb, line 182 def to_metadata(runner, test_runner = nil) { minitest: metadata, test: test_runner, runner: runner } end
unit_runner()
click to toggle source
def global_client
::Minitest::Reporters::Ws.class_variable_get("@@client")
end
def set_global_client©
::Minitest::Reporters::Ws.class_variable_set("@@client", c)
end
def global_client?
::Minitest::Reporters::Ws.class_variable_defined?("@@client")
end
# File lib/minitest/reporters/ws/reporter.rb, line 141 def unit_runner ::Minitest::Unit.runner end