1
0

feat: E2E 测试集成真实后端

- Playwright 双 webServer 模式自动启动 Go 后端 + Vite 前端
- 后端使用临时 SQLite 数据库隔离,固定端口 19026
- vite.config.ts proxy target 动态读取环境变量
- 新增 sql.js 依赖用于 SQLite 统计数据 seed
- 新增 e2e/fixtures.ts 共享工具模块(API seed + SQLite seed)
- 拆分测试文件 5→7(providers/models/stats/navigation/validation)
- 删除旧文件 crud.spec.ts/sidebar.spec.ts/stats-cards.spec.ts
- E2E 测试尚有部分用例需调试修复
This commit is contained in:
2026-04-22 00:31:35 +08:00
parent 4fc5fb4764
commit 59179094ed
20 changed files with 973 additions and 540 deletions

View File

@@ -1,36 +0,0 @@
import { test, expect } from '@playwright/test';
test.describe('统计摘要卡片', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/stats');
await expect(page.getByRole('heading', { name: '用量统计' })).toBeVisible();
});
test('应显示统计摘要卡片', async ({ page }) => {
await expect(page.getByText('总请求量')).toBeVisible();
await expect(page.getByText('活跃模型数')).toBeVisible();
await expect(page.getByText('活跃供应商数')).toBeVisible();
await expect(page.getByText('今日请求量')).toBeVisible();
});
test('应显示请求趋势图表', async ({ page }) => {
await expect(page.getByText('请求趋势')).toBeVisible();
});
test('应显示统计数据表格', async ({ page }) => {
await expect(page.getByText('统计数据')).toBeVisible();
});
test('统计卡片应显示数值', async ({ page }) => {
await page.waitForTimeout(1000);
const cards = page.locator('.t-card');
const count = await cards.count();
expect(count).toBeGreaterThan(0);
});
test('应显示筛选栏', async ({ page }) => {
await expect(page.locator('.t-select').first()).toBeVisible();
await expect(page.getByPlaceholder('模型名称')).toBeVisible();
});
});