Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks done
etagwerker opened this issue Oct 23, 2020 · 0 comments
Labels
enhancement New feature or request Feature Request

Comments

@etagwerker
Copy link
Member

etagwerker commented Oct 23, 2020

Before we start...:

  • I checked the documentation and didn't find this feature
  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Feature Request
Projects
None yet
Development

No branches or pull requests

2 participants