-
Notifications
You must be signed in to change notification settings - Fork 632
[Project tracking issue] Hit >90% code coverage, and enforce it [Blocked: #1497, #1725] #1726
Copy link
Copy link
Open
Open
Enhancement
Copy link
Labels
Impact: MediumModerate perceived user impact (non-blocking bugs and general improvements).Moderate perceived user impact (non-blocking bugs and general improvements).Issue: Needs Break-downIndicates that an issue is too large and should be broken into smaller chunks.Indicates that an issue is too large and should be broken into smaller chunks.Issue: Needs ClarificationIndicates that an issue needs more detail in order to be able to be acted upon.Indicates that an issue needs more detail in order to be able to be acted upon.Work: LowSolution is clear and broken into good-first-issue-sized chunks.Solution is clear and broken into good-first-issue-sized chunks.Z-ibtTemporary label for Ben to keep track of issues he's triaged.Temporary label for Ben to keep track of issues he's triaged.enhancementEnd user-perceivable enhancements.End user-perceivable enhancements.
Metadata
Metadata
Assignees
Labels
Impact: MediumModerate perceived user impact (non-blocking bugs and general improvements).Moderate perceived user impact (non-blocking bugs and general improvements).Issue: Needs Break-downIndicates that an issue is too large and should be broken into smaller chunks.Indicates that an issue is too large and should be broken into smaller chunks.Issue: Needs ClarificationIndicates that an issue needs more detail in order to be able to be acted upon.Indicates that an issue needs more detail in order to be able to be acted upon.Work: LowSolution is clear and broken into good-first-issue-sized chunks.Solution is clear and broken into good-first-issue-sized chunks.Z-ibtTemporary label for Ben to keep track of issues he's triaged.Temporary label for Ben to keep track of issues he's triaged.enhancementEnd user-perceivable enhancements.End user-perceivable enhancements.
Type
Projects
Status
Todo
Is your feature request related to a problem? Please describe.
The app's code coverage is currently unknown, but it's likely much lower than 90%. Having high code coverage is essential to prevent regressions, and reliably ship the app on time.
Describe the solution you'd like
The entire codebase should match or exceed 90% code coverage, and enforce 100% test coverage in all new code. Note that this is blocked on #1497 since code coverage is currently not being measured, and by #1725 to ensure new code is at least being covered by tests. Beyond this, this issue requires systematically breaking down all components that are not at or above 90% code coverage and organize efforts around bringing up that code coverage.
Additional context
Note that 90% code coverage was chosen since this threshold, from my experience, tends to represent strong code coverage for happy path and key error cases across the codebase. The noticeable difference from 80% to 90% code coverage is highly noticeable, and from 90% to 100% is far less noticeable. This level of coverage is also more feasible to hit since there are some diminishing returns in the effort needed to write effective tests that hit above 90% code coverage.