From fafe9819db67797c46d7f7202196955bcd50dc3e Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Mon, 7 Aug 2023 13:59:48 -0400
Subject: [PATCH] Added test coverage reporting

---
 .gitignore                  |  1 +
 apex-aprs.gemspec           |  1 +
 spec/apex/igate_tcp_spec.rb |  2 +-
 spec/spec_helper.rb         | 18 ++++++++++++++++++
 4 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 9e9d7da..ccef4e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ html
 Gemfile.lock
 .idea/
 *.gem
+/public/
diff --git a/apex-aprs.gemspec b/apex-aprs.gemspec
index bf95147..e731121 100644
--- a/apex-aprs.gemspec
+++ b/apex-aprs.gemspec
@@ -36,6 +36,7 @@ Gem::Specification.new do |spec|
     spec.add_development_dependency 'rake', '~> 13.0'
     spec.add_development_dependency 'test-unit', '~> 3.6'
     spec.add_development_dependency 'rspec', '~> 3.12'
+    spec.add_development_dependency 'simplecov', '~> 0.22'
     #spec.add_development_dependency 'rdoc', '~> 6.3'
     spec.add_development_dependency 'aruba', '~> 2.0'
 end
diff --git a/spec/apex/igate_tcp_spec.rb b/spec/apex/igate_tcp_spec.rb
index 7e95453..2477cf6 100644
--- a/spec/apex/igate_tcp_spec.rb
+++ b/spec/apex/igate_tcp_spec.rb
@@ -13,7 +13,7 @@ ENCODED_FRAME_IGATE = "W2GMD-1>OMG,WIDE1-1,WIDE2-2:test_encode_frame"
 describe Apex::IGateTcp do
   let(:aprsis_socket) { double("aprsis_socket") }
   let(:igate_tcp) {Apex::IGateTcp.new("WI2ARD")}
-
+  
   describe ".connect" do
     context "When attempting to connect to an igate" do
       it "The correct login message is sent" do
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 978a526..95e3854 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -13,6 +13,24 @@
 # it.
 #
 # See https://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
+require 'simplecov'
+
+SimpleCov.start do
+  add_filter '/test/'
+  add_filter '/spec/'
+  add_filter '/config/'
+  add_filter '/vendor/'
+
+  add_group 'Controllers', 'app/controllers'
+  add_group 'Models', 'app/models'
+  add_group 'Helpers', 'app/helpers'
+  add_group 'Mailers', 'app/mailers'
+end
+# OPTIONAL
+# This outputs the report to your public folder
+# You will want to add this to .gitignore
+SimpleCov.coverage_dir 'public/coverage'
+
 RSpec.configure do |config|
   # rspec-expectations config goes here. You can use an alternate
   # assertion/expectation library such as wrong or the stdlib/minitest
-- 
GitLab