From 89a23a69e233951ca57420ee690973219245d989 Mon Sep 17 00:00:00 2001 From: Wilson Silva Date: Fri, 6 Jan 2023 11:09:13 +0700 Subject: [PATCH] Setup code coverage with simplecov --- Rakefile | 10 ++++++++++ nostr.gemspec | 2 ++ spec/spec_helper.rb | 11 +++++++++++ 3 files changed, 23 insertions(+) diff --git a/Rakefile b/Rakefile index 5644f34..0d1797d 100644 --- a/Rakefile +++ b/Rakefile @@ -10,3 +10,13 @@ RSpec::Core::RakeTask.new(:spec) RuboCop::RakeTask.new task default: %i[spec rubocop] + +# Delete these files and folders when running rake clobber. +CLOBBER.include('coverage', '.rspec_status') + +desc 'Run spec with coverage' +task :coverage do + ENV['COVERAGE'] = 'true' + Rake::Task['spec'].execute + `open coverage/index.html` +end diff --git a/nostr.gemspec b/nostr.gemspec index f83beb5..4a90ea5 100644 --- a/nostr.gemspec +++ b/nostr.gemspec @@ -44,4 +44,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rubocop', '~> 1.42' spec.add_development_dependency 'rubocop-rake', '~> 0.6' spec.add_development_dependency 'rubocop-rspec', '2.16' + spec.add_development_dependency 'simplecov', '~> 0.22' + spec.add_development_dependency 'simplecov-console', '~> 0.9' end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index aa20b15..d3686d7 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -2,6 +2,17 @@ require 'nostr' require 'pry' +require 'simplecov' +require 'simplecov-console' + +SimpleCov.formatter = SimpleCov::Formatter::Console unless ENV['COVERAGE_FORMAT'] == 'html' + +unless ENV['COVERAGE'] == 'false' + SimpleCov.start do + root 'lib' + coverage_dir "#{Dir.pwd}/coverage" + end +end RSpec.configure do |config| # Enable flags like --only-failures and --next-failure