/** * L1 冒烟测试:健康检查 * 验证后端服务基础健康状态 */ import { test, expect } from '@playwright/test'; import { apiGet, initApiClient, disposeApiClient } from '../helpers/api-client'; test.describe('健康检查', () => { test.beforeAll(async () => { await initApiClient(); }); test.afterAll(async () => { await disposeApiClient(); }); test('S01: 服务健康检查 /health', async () => { const res = await apiGet('/health'); expect(res.code).toBe(0); expect(res.data?.status).toBe('healthy'); }); test('S02: 数据库连接检查 /api/tts/test-db', async () => { const res = await apiGet('/api/tts/test-db'); expect(res.code).toBe(0); expect(res.data?.connectionState).toBe('connected'); }); test('S03: 性能指标端点 /api/metrics', async () => { const res = await apiGet('/api/metrics'); // metrics 可能返回非标准格式,只验证可达 expect([0, 200]).toContain(res.code); }); test('S04: 静态文件服务可用 /uploads', async () => { const { apiRaw } = require('../helpers/api-client'); const raw = await apiRaw('GET', '/uploads/'); expect([200, 404]).toContain(raw.status()); }); });