learning_ai_invt_trdg/backend/run_all_tests.ts

44 lines
1.4 KiB
TypeScript

import fs from 'fs';
import path from 'path';
import { spawn } from 'child_process';
const testsDir = path.resolve(process.cwd(), 'tests');
async function runAllTests() {
console.log('🧪 Running all tests in tests/ directory...\n');
const files = fs.readdirSync(testsDir).filter(f => f.endsWith('.ts'));
let passed = 0;
let failed = 0;
for (const file of files) {
console.log(`\n---------------------------------------------------------`);
console.log(`▶️ Running ${file}...`);
console.log(`---------------------------------------------------------`);
await new Promise<void>((resolve) => {
const proc = spawn('npx', ['tsx', path.join(testsDir, file)], {
stdio: 'inherit',
shell: true
});
proc.on('close', (code) => {
if (code === 0) {
console.log(`${file} PASSED`);
passed++;
} else {
console.log(`${file} FAILED (Exit Code: ${code})`);
failed++;
}
resolve();
});
});
}
console.log(`\n=========================================================`);
console.log(`Summary: ${passed} Passed, ${failed} Failed`);
console.log(`=========================================================\n`);
}
runAllTests();