feat: implement apex test parser and add coverage percentage

This commit is contained in:
Ross Reicks 2024-07-11 13:02:16 -05:00
parent c4f7701aa1
commit 0f142e1e2a
15 changed files with 6278 additions and 18 deletions

View file

@ -4,7 +4,8 @@ export class TestRunResult {
constructor(
readonly path: string,
readonly suites: TestSuiteResult[],
private totalTime?: number
private totalTime?: number,
private coveragePercentage?: number
) {}
get tests(): number {
@ -25,6 +26,10 @@ export class TestRunResult {
return this.totalTime ?? this.suites.reduce((sum, g) => sum + g.time, 0)
}
get coverage(): number | undefined {
return this.coveragePercentage
}
get result(): TestExecutionResult {
return this.suites.some(t => t.result === 'failed') ? 'failed' : 'success'
}
@ -47,7 +52,8 @@ export class TestSuiteResult {
constructor(
readonly name: string,
readonly groups: TestGroupResult[],
private totalTime?: number
private totalTime?: number,
private coveragePercentage?: number
) {}
get tests(): number {
@ -66,6 +72,9 @@ export class TestSuiteResult {
get time(): number {
return this.totalTime ?? this.groups.reduce((sum, g) => sum + g.time, 0)
}
get coverage(): number | undefined {
return this.coveragePercentage
}
get result(): TestExecutionResult {
return this.groups.some(t => t.result === 'failed') ? 'failed' : 'success'