Percentage Coverage on New Code
New Code = methods added since the baseline. All non-UI new classes should be 100% covered.
The ~10% of a class that is hard to cover is not easily testable, hence badly designed and often error-prone: 100% coverage ensures this code gets tested.
The ~10% of a class that is hard to cover is not easily testable, hence badly designed and often error-prone: 100% coverage ensures this code gets tested.
CQLinq source
This quality gate is written in CQLinq, C# LINQ over the NDepend code model. It ships with every new NDepend project: you can read it, adapt it, or use it as a starting point for your own custom rules.
// <QualityGate Name="Percentage Coverage on New Code" Unit="%" />
failif value < 70%
warnif value < 80%
let newMethods = Application.Methods.Where(m => m.WasAdded() && m.NbLinesOfCode > 0)
let locCovered = newMethods.Sum(m => m.NbLinesOfCodeCovered)
let loc = newMethods.Sum(m => m.NbLinesOfCode)
select 100d * locCovered / loc
//<Desc>
// *New Code* = methods added since the baseline. All non-UI new classes
// should be 100% covered.
//
// The ~10% of a class that is hard to cover is not easily testable, hence
// badly designed and often **error-prone**: 100% coverage ensures this code
// gets tested.
//</Desc>
Open in the interactive Rules Explorer · All default rules
Quality Gates: all 19 items
- Quality Gates Evolution
- Percentage Coverage
- Percentage Coverage on New Code
- Percentage Coverage on Refactored Code
- Percentage Coverage (JustMyCode)
- Percentage Coverage on New Code (JustMyCode)
- Percentage Coverage on Refactored Code (JustMyCode)
- Blocker Issues
- Critical Issues
- New Blocker / Critical / High Issues
- Critical Rules Violated
- Treat Compiler Warnings as Error
- Percentage Debt
- Debt
- New Debt since Baseline
- Debt Rating per Namespace
- Annual Interest
- New Annual Interest since Baseline
- Unnecessary NDepend SuppressMessageAttribute Usage