openfoodfoundation/openfoodnetwork

View on GitHub
lib/tasks/simplecov.rake

Summary

Maintainability
Test Coverage
# frozen_string_literal: true

namespace :simplecov do
  desc "Collates all result sets produced during parallel test runs"
  task :collate_results, # rubocop:disable Rails/RakeEnvironment doesn't need the full env
       [:path_to_results, :coverage_dir] do |_t, args|
    require "simplecov"

    path_to_results = args[:path_to_results].presence || "tmp/simplecov"
    output_path = args[:coverage_dir].presence || "coverage"

    SimpleCov.collate Dir[File.join(path_to_results, "**", ".resultset.json")], "rails" do
      formatter(SimpleCov::Formatter::HTMLFormatter)
      coverage_dir(output_path)
    end
  end
end