module DeepCover::CoverageReplacement
Constants
- ALL_COVERAGES
- OLD_COVERAGE_SENTINEL
Public Class Methods
peek_result()
click to toggle source
# File lib/deep_cover/core_ext/coverage_replacement.rb, line 46 def peek_result raise 'coverage measurement is not enabled' unless running? if @started_args == OLD_COVERAGE_SENTINEL DeepCover.coverage.covered_codes.map do |covered_code| [covered_code.path.to_s, covered_code.line_coverage(**DeepCover.config.to_h)] end.to_h else DeepCover.coverage.covered_codes.map do |covered_code| cov = {} cov[:branches] = DeepCover::Analyser::Ruby25LikeBranch.new(covered_code).results if @started_args[:branches] cov[:lines] = covered_code.line_coverage(**DeepCover.config.to_h) if @started_args[:lines] cov[:methods] = {} if @started_args[:methods] [covered_code.path.to_s, cov] end.to_h end end
result()
click to toggle source
# File lib/deep_cover/core_ext/coverage_replacement.rb, line 40 def result r = peek_result DeepCover.stop r end
running?()
click to toggle source
# File lib/deep_cover/core_ext/coverage_replacement.rb, line 11 def running? DeepCover.running? end
start(targets = OLD_COVERAGE_SENTINEL)
click to toggle source
# File lib/deep_cover/core_ext/coverage_replacement.rb, line 15 def start(targets = OLD_COVERAGE_SENTINEL) if targets == OLD_COVERAGE_SENTINEL # Do nothing elsif targets == :all targets = ALL_COVERAGES else targets = targets.to_hash.slice(*ALL_COVERAGES.keys).select { |_, v| v } targets = targets.map { |k, v| [k, !!v] }.to_h if targets.empty? raise 'no measuring target is specified' if RUBY_VERSION.start_with?('2.5') targets = OLD_COVERAGE_SENTINEL end end if DeepCover.running? raise 'cannot change the measuring target during coverage measurement' if @started_args != targets return end @started_args = targets DeepCover.start nil end