-
-
Notifications
You must be signed in to change notification settings - Fork 269
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
[FEATURE] configurable coverage levels #979
Comments
I wonder if there isn't a better feature hiding here for that use case. One thing I never liked about the levels configs is just how arbitrary and manual they feel. Really, it seems like, if you're not at full coverage (or even if you are, I guess) then thing you want is to never reduce coverage. What if, instead of setting levels explicitly, there was an option to track the current coverage level on each run, and fail if it ever goes below that limit? So you'd run |
Ya, I could get behind this. I think this is usually what people want when trying to enforce coverage levels. It goes up, not down. And this would remove the manual maintenance and human error from trying to keep up with it. |
I'm not too familiar with how tap manages configuration, but if those coverage values are stored in the existing tap config - that could be If the intent is for this to not be manage by a human, maybe a separate top level file? |
It'd be the same logic as using |
Is there an existing issue for this?
Have you read the
CONTRIBUTING
guide on posting issues, andCODE_OF_CONDUCT
?Description
In previous versions of tap, it was possible to specify a minimum level of coverage
These options have all been removed, and it doesn't see like there is a way to replicate this behavior. There is
allow-incomplete-coverage
, but as far as I can tell, this will allow 0% coverage - there is no in between.I see this in the docs:
I understand the intention around this, and I generally agree with the sentiment, but this isn't really practical. I would like to be able to enforce a minimum standard of quality - and enforcing that through code coverage in automated CI is a great place to start. Fail a build if coverage drops below a certain level, But the all or nothing approach makes that a high barrier to entry.
For example, inheriting large codebases with no tests. Going from 0 to 100% coverage in a reasonable amount of time isn't practical for many companies. But getting to a reasonable level of test coverage, and enforcing a new minimum, while working to improve that minimum incrementally over time is.
Example
The text was updated successfully, but these errors were encountered: