class SimpleCov::Configuration::CoverageCriterion
syntax is identical across line, branch, and method coverage.
always a plain percentage (‘minimum_per_file 100` is unambiguous) and the
threshold for the single criterion the block configures, so the value is
Receiver for a `coverage <criterion> do … end` block. Each verb writes a
def exact(percent)
def exact(percent) minimum(percent) maximum(percent) end
def initialize(config, criterion)
def initialize(config, criterion) @config = config @criterion = criterion end
def maximum(percent)
Overall maximum: fails the build if coverage rises above it. Paired with
def maximum(percent) @config.send(:store_overall_threshold, :maximum_coverage, @criterion, percent) end
def maximum_drop(percent)
def maximum_drop(percent) @config.send(:store_overall_threshold, :maximum_coverage_drop, @criterion, percent) end
def minimum(percent)
def minimum(percent) @config.send(:store_overall_threshold, :minimum_coverage, @criterion, percent) end
def minimum_per_file(percent, only: nil)
file; with `only:` (a String path or Regexp), overrides that default
Per-file minimum. With no `only:`, sets the default applied to every
def minimum_per_file(percent, only: nil) @config.send(:store_minimum_per_file, @criterion, percent, only) end
def minimum_per_group(percent, only:)
def minimum_per_group(percent, only:) @config.send(:store_minimum_per_group, @criterion, percent, only) end
def primary
def primary # @criterion is Symbol-wide because this receiver is also built for # :eval; primary_coverage validates at runtime. @config.primary_coverage(_ = @criterion) end