feat(tstest): Enhance tstest with fluent API, suite grouping, tag filtering, fixture & snapshot testing, and parallel execution improvements

This commit is contained in:
2025-05-16 00:21:32 +00:00
parent 1c5cf46ba9
commit 2b01d949f2
30 changed files with 1504 additions and 173 deletions

View File

@@ -99,4 +99,43 @@ export class TestDirectory {
}
return testFilePaths;
}
/**
* Get test files organized by parallel execution groups
* @returns An object with grouped tests
*/
async getTestFileGroups(): Promise<{
serial: string[];
parallelGroups: { [groupName: string]: string[] };
}> {
await this._init();
const result = {
serial: [] as string[],
parallelGroups: {} as { [groupName: string]: string[] }
};
for (const testFile of this.testfileArray) {
const filePath = testFile.path;
const fileName = plugins.path.basename(filePath);
// Check if file has parallel group pattern
const parallelMatch = fileName.match(/\.para__(\d+)\./);
if (parallelMatch) {
const groupNumber = parallelMatch[1];
const groupName = `para__${groupNumber}`;
if (!result.parallelGroups[groupName]) {
result.parallelGroups[groupName] = [];
}
result.parallelGroups[groupName].push(filePath);
} else {
// File runs serially
result.serial.push(filePath);
}
}
return result;
}
}