skunk icon indicating copy to clipboard operation
skunk copied to clipboard

[REQUEST] Add support for branch comparison when code coverage has changed between branches

Open etagwerker opened this issue 5 years ago • 0 comments

Before we start...:

  • [x] I checked the documentation and didn't find this feature
  • [x] I checked to make sure that this feature has not already been requested

Branch/Commit:

main branch

Problem:

When using the -b option, the SkunkScore average doesn't change if you improve code coverage for your application/library.

Solution:

As a developer using skunk -b stable-branch I want to see the right SkunkScore delta So that I can quickly see how much I've improved my project by paying off tech debt

It could work like this:

skunk -b main
Switched to branch 'main'
running flay smells
...
running flog smells
.......................
running reek smells
.......................
running complexity
.......................
running attributes
.......................
running churn
.......................
running simple_cov
.......................
Switched to branch 'poc/compare-issue'
running flay smells
...
running flog smells
.......................
running reek smells
.......................
running complexity
.......................
running attributes
.......................
running churn
.......................
running simple_cov
.......................
Base branch (main) average skunk score: 32.21
Feature branch (poc/compare-issue) average skunk score: 27.21
**Code coverage average improved by 7.27%**
**Skunk score average is 15% better** 

Notes:

It might be necessary to run the entire test suite "all over again" for one of the branches, so that we can compare two different result sets from SimpleCov.

I imagine it could work like this:

  1. Save a copy of the files for the current branch's coverage directory in a .skunk local directory
  2. Run all calculations for the current branch
  3. Switch to the "compared branch"
  4. Run the entire test suite using COVERAGE=true
  5. Save a copy of the files for the "compared branch" directory in a .skunk local directory
  6. Compare all results
  7. Output delta information

etagwerker avatar Oct 23 '20 01:10 etagwerker