Skip to content

Improve code coverage through annotations #1789

Open
@sarthak-19

Description

The current code coverage metrics are as follows :

Image

and can be improved by addressing the following issues:

  1. Ignore Coverage for Non-Critical Code Blocks:

    • Certain ubiquitous code blocks, such as:

      if ( ! defined( 'ABSPATH' ) ) {
          exit;
      } 

      These blocks can be excluded from code coverage by adding // @codeCoverageIgnoreStart and // @codeCoverageIgnoreEnd annotations.

  2. Exclude Plugin Bootstrap Files from Coverage:

    • Files like plugin bootstrap files only include logic that is already tested elsewhere.
    • Evaluate marking uninstall.php as indirectly tested and decide whether similar exclusions are needed for files like hooks.php.
  3. Add Missing @covers Annotations:

    • Ensure all tests have proper @covers annotations to map them to the code they validate. For instance:
      • \Test_OD_URL_Metric::test_constructor is missing a @covers ::get_uuid annotation.
  4. Add Missing Tests:

    • Identify areas of the codebase that are not currently tested and write additional tests to improve overall coverage.

These changes aim to focus coverage metrics on critical functionality and ensure more accurate and meaningful reports, improving code quality and maintainability.

cc : @westonruter

Metadata

Assignees

Labels

InfrastructureIssues for the overall performance plugin infrastructure[Type] EnhancementA suggestion for improvement of an existing feature

Projects

  • Status

    In Progress 🚧

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions