Module: Polyrun::SpecQuality::MinitestHook

Defined in:
lib/polyrun/spec_quality/minitest_hook.rb

Overview

Minitest hook: per-test spec quality (requires minitest loaded).

Defined Under Namespace

Modules: SpecQualityTestHook

Class Method Summary collapse

Class Method Details

.install!(only_if: nil, root: nil, output_path: nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/polyrun/spec_quality/minitest_hook.rb', line 28

def install!(only_if: nil, root: nil, output_path: nil)
  pred = only_if || -> { Polyrun::SpecQuality.enabled? }
  return unless pred.call

  unless defined?(::Minitest::Test)
    Polyrun::Log.warn "polyrun minitest: install_spec_quality! skipped (load minitest first)"
    return
  end

  Polyrun::SpecQuality::RspecHook.ensure_started!(root: root, output_path: output_path)
  ::Minitest::Test.send(:prepend, SpecQualityTestHook)
end