@salesforce/plugin-apex
Version:
84 lines (83 loc) • 2 kB
TypeScript
import { ApexTestResultOutcome, TestResult } from '@salesforce/apex-node';
import { ApexTestRunResultStatus } from '@salesforce/apex-node/lib/src/tests/types.js';
export type RunResult = {
summary: Summary;
tests: CliTestResult[];
coverage?: CliCoverageResult;
};
type Summary = {
outcome: ApexTestRunResultStatus;
testsRan: number;
passing: number;
failing: number;
skipped: number;
passRate: string;
failRate: string;
testStartTime: string;
testExecutionTime: string;
testTotalTime: string;
commandTime: string;
hostname: string;
orgId: string;
username: string;
testRunId: string;
userId: string;
orgWideCoverage?: string;
testRunCoverage?: string;
};
type CliTestResult = {
Id: string;
QueueItemId: string;
StackTrace: string;
Message: string;
AsyncApexJobId: string;
MethodName: string;
Outcome: ApexTestResultOutcome;
ApexClass: {
Id: string;
Name: string;
NamespacePrefix: string;
};
RunTime: number;
FullName: string;
};
type ClassCoverage = {
id: string;
name: string;
totalLines: number;
lines: Record<string, number>;
totalCovered: number;
coveredPercent: number;
};
type PerClassCoverage = {
ApexTestClass: {
Id: string;
Name: string;
};
Coverage?: {
coveredLines: number[];
uncoveredLines: number[];
};
TestMethodName: string;
NumLinesCovered: number;
ApexClassOrTrigger: {
Id: string;
Name: string;
};
NumLinesUncovered: number;
};
type CliCoverageResult = {
coverage: ClassCoverage[];
records: PerClassCoverage[];
summary: {
totalLines?: number;
coveredLines?: number;
testRunCoverage?: string;
orgWideCoverage?: string;
};
};
export declare class JsonReporter {
format(result: TestResult, includeCategory?: boolean): RunResult;
private formatCoverage;
}
export {};