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

@@ -12,6 +12,7 @@ export const runCli = async () => {
const args = process.argv.slice(2);
const logOptions: LogOptions = {};
let testPath: string | null = null;
let tags: string[] = [];
// Parse options
for (let i = 0; i < args.length; i++) {
@@ -36,6 +37,11 @@ export const runCli = async () => {
case '--logfile':
logOptions.logFile = true; // Set this as a flag, not a value
break;
case '--tags':
if (i + 1 < args.length) {
tags = args[++i].split(',');
}
break;
default:
if (!arg.startsWith('-')) {
testPath = arg;
@@ -52,6 +58,7 @@ export const runCli = async () => {
console.error(' --no-color Disable colored output');
console.error(' --json Output results as JSON');
console.error(' --logfile Write logs to .nogit/testlogs/[testfile].log');
console.error(' --tags Run only tests with specified tags (comma-separated)');
process.exit(1);
}
@@ -66,6 +73,6 @@ export const runCli = async () => {
executionMode = TestExecutionMode.DIRECTORY;
}
const tsTestInstance = new TsTest(process.cwd(), testPath, executionMode, logOptions);
const tsTestInstance = new TsTest(process.cwd(), testPath, executionMode, logOptions, tags);
await tsTestInstance.run();
};