55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
|
|
import { defineConfig } from 'vitest/config'
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Integration Test Configuration - REAL AI MODELS
|
||
|
|
*
|
||
|
|
* Based on industry practices: fewer tests, real models, high memory
|
||
|
|
* Only run critical AI functionality to verify production readiness
|
||
|
|
*/
|
||
|
|
export default defineConfig({
|
||
|
|
test: {
|
||
|
|
globals: true,
|
||
|
|
setupFiles: ['./tests/setup-integration.ts'],
|
||
|
|
environment: 'node',
|
||
|
|
|
||
|
|
// INTEGRATION TESTS: Real AI, need time and memory
|
||
|
|
testTimeout: 300000, // 5 minutes per test
|
||
|
|
hookTimeout: 120000, // 2 minutes for setup
|
||
|
|
teardownTimeout: 30000,
|
||
|
|
|
||
|
|
// Include only integration tests
|
||
|
|
include: [
|
||
|
|
'tests/integration/**/*.test.ts',
|
||
|
|
'tests/**/*.integration.test.ts'
|
||
|
|
],
|
||
|
|
|
||
|
|
// CRITICAL: Sequential execution to prevent memory exhaustion
|
||
|
|
pool: 'forks',
|
||
|
|
poolOptions: {
|
||
|
|
forks: {
|
||
|
|
maxForks: 1, // One test at a time
|
||
|
|
minForks: 1,
|
||
|
|
singleFork: true, // Absolute isolation
|
||
|
|
isolate: true
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
// No parallelism
|
||
|
|
maxConcurrency: 1,
|
||
|
|
fileParallelism: false,
|
||
|
|
|
||
|
|
// Minimal reporting to reduce memory
|
||
|
|
reporters: process.env.CI ? ['dot'] : ['basic'],
|
||
|
|
|
||
|
|
// No coverage (saves memory)
|
||
|
|
coverage: {
|
||
|
|
enabled: false
|
||
|
|
},
|
||
|
|
|
||
|
|
// Test sharding for CI
|
||
|
|
shard: process.env.VITEST_SHARD,
|
||
|
|
|
||
|
|
// Retry once for flaky AI tests
|
||
|
|
retry: 1
|
||
|
|
}
|
||
|
|
})
|