Code coverage is stored in two Lightning Platform Tooling API objects:
1. ApexCodeCoverageAggregate:
ApexCodeCoverageAggregate stores the sum of covered lines for a class after checking all test methods that test it.
2. ApexCodeCoverage:
ApexCodeCoverage stores the lines that are covered and uncovered by each individual test method.
Reference Article – https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_code_coverage_intro.htm
1. Query:
SELECT ApexClassOrTrigger.Name, NumLinesCovered, NumLinesUncovered
FROM ApexCodeCoverageAggregate
ORDER BY ApexClassOrTrigger.Name ASC
Output:
2. Query:
SELECT ApexClassOrTrigger.Name, NumLinesCovered, NumLinesUncovered
FROM ApexCodeCoverage
Test class in Developer console always shows None issue