Module: Julewire::Core::Testing::Coverage
- Defined in:
- lib/julewire/core/testing/coverage.rb
Constant Summary collapse
- DEFAULT_MINIMUM_LINE =
96- DEFAULT_MINIMUM_BRANCH =
87
Class Method Summary collapse
- .configure_formatters ⇒ Object
- .configure_lcov_formatter ⇒ Object
- .start!(minimum_line: DEFAULT_MINIMUM_LINE, minimum_branch: DEFAULT_MINIMUM_BRANCH, filters: []) ⇒ Object
- .start_simplecov(minimum_line:, minimum_branch:, filters:) ⇒ Object
Class Method Details
.configure_formatters ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/julewire/core/testing/coverage.rb', line 33 def configure_formatters SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new( [ SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::LcovFormatter ] ) end |
.configure_lcov_formatter ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/julewire/core/testing/coverage.rb', line 24 def configure_lcov_formatter SimpleCov::Formatter::LcovFormatter.config do |config| config.report_with_single_file = true config.output_directory = "coverage/lcov" config.lcov_file_name = "lcov.info" config.single_report_path = "coverage/lcov/lcov.info" end end |
.start!(minimum_line: DEFAULT_MINIMUM_LINE, minimum_branch: DEFAULT_MINIMUM_BRANCH, filters: []) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/julewire/core/testing/coverage.rb', line 12 def start!(minimum_line: DEFAULT_MINIMUM_LINE, minimum_branch: DEFAULT_MINIMUM_BRANCH, filters: []) return unless ENV["COVERAGE"] require "simplecov" require "simplecov-lcov" configure_lcov_formatter configure_formatters start_simplecov(minimum_line: minimum_line, minimum_branch: minimum_branch, filters: filters) nil end |
.start_simplecov(minimum_line:, minimum_branch:, filters:) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/julewire/core/testing/coverage.rb', line 42 def start_simplecov(minimum_line:, minimum_branch:, filters:) SimpleCov.start do enable_coverage :branch minimum_coverage line: minimum_line, branch: minimum_branch if minimum_line || minimum_branch track_files "lib/**/*.rb" add_filter "/test/" add_filter "/lib/julewire/core/testing/coverage.rb" add_filter %r{/lib/julewire/[^/]+/version\.rb\z} add_filter %r{/lib/julewire-[^/]+\.rb\z} filters.each { add_filter(it) } end end |