From a0e08a313dab5cc03daa808951432b6fbf1194f1 Mon Sep 17 00:00:00 2001 From: snowgitea Date: Wed, 29 Apr 2026 02:09:01 +0800 Subject: [PATCH] chore: remove tdd_complete_test.js --- tdd_complete_test.js | 201 ------------------------------------------- 1 file changed, 201 deletions(-) delete mode 100644 tdd_complete_test.js diff --git a/tdd_complete_test.js b/tdd_complete_test.js deleted file mode 100644 index addae3e..0000000 --- a/tdd_complete_test.js +++ /dev/null @@ -1,201 +0,0 @@ -// 完整TDD测试 + BUG验证 -const { chromium } = require('playwright'); - -async function runCompleteTDDTest() { - console.log('='.repeat(60)); - console.log('TDD完整测试 + BUG验证'); - console.log('='.repeat(60)); - - const browser = await chromium.launch({ headless: false }); - const context = await browser.newContext({ viewport: { width: 1920, height: 1080 } }); - const page = await context.newPage(); - const baseUrl = 'http://localhost:5173'; - - const testResults = { passed: [], failed: [], screenshots: [] }; - - try { - // ========== 步骤1: 打开记账页面 ========== - console.log('\n[步骤1] 打开记账页面'); - await page.goto(`${baseUrl}/record`, { waitUntil: 'networkidle', timeout: 30000 }); - await page.waitForTimeout(2000); - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/01_record_before.png', fullPage: true }); - testResults.screenshots.push('01_record_before.png'); - - // ========== 步骤2: 点击新增 ========== - console.log('\n[步骤2] 点击新增按钮'); - await page.click('#addBtn'); - await page.waitForTimeout(500); - - // ========== 步骤3: 填写表单 ========== - console.log('\n[步骤3] 填写表单'); - await page.fill('#amount', '5'); - await page.click('[data-category="交通"]'); - await page.fill('#note', '地铁测试'); - console.log(' - 金额: 5, 分类: 交通, 备注: 地铁测试'); - - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/02_form_filled.png', fullPage: true }); - testResults.screenshots.push('02_form_filled.png'); - - // ========== 步骤4: 保存 ========== - console.log('\n[步骤4] 保存记录'); - await page.click('button[type="submit"]'); - await page.waitForTimeout(3000); - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/03_after_save.png', fullPage: true }); - testResults.screenshots.push('03_after_save.png'); - - // ========== 步骤5: 验证记账页面 ========== - console.log('\n[步骤5] 验证记账页面数据'); - const recordItems = await page.$$('.record-item'); - console.log(` - 当前记录数量: ${recordItems.length}`); - - let trafficFound = false; - for (const item of recordItems) { - const title = await item.$('.record-title'); - const amount = await item.$('.record-amount'); - if (title && amount) { - const titleText = await title.textContent(); - const amountText = await amount.textContent(); - if (titleText === '交通' && amountText.includes('5')) { - trafficFound = true; - console.log(` ✅ 找到交通支出5元记录`); - } - } - } - - if (trafficFound) { - testResults.passed.push('记账页面正确显示新添加的交通-5元记录'); - } else { - testResults.failed.push('记账页面未找到新添加的交通-5元记录'); - } - - // ========== 步骤6: 导航到统计页面 ========== - console.log('\n[步骤6] 导航到统计页面'); - await page.goto(`${baseUrl}/statistics`, { waitUntil: 'networkidle', timeout: 30000 }); - await page.waitForTimeout(2000); - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/04_statistics.png', fullPage: true }); - testResults.screenshots.push('04_statistics.png'); - - // ========== 步骤7: 验证统计页面饼图 ========== - console.log('\n[步骤7] 验证统计页面数据'); - - // 切换到饼图模式查看支出构成 - const pieBtn = await page.$('[data-type="pie"]'); - if (pieBtn) { - await pieBtn.click(); - await page.waitForTimeout(1000); - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/05_statistics_pie.png', fullPage: true }); - testResults.screenshots.push('05_statistics_pie.png'); - } - - // 检查饼图图例数据 - const legendItems = await page.$$('.legend-item'); - console.log(` - 图例数量: ${legendItems.length}`); - - let trafficLegendFound = false; - let trafficValue = ''; - - for (const item of legendItems) { - const label = await item.$('.legend-label'); - const value = await item.$('.legend-value'); - if (label && value) { - const labelText = await label.textContent(); - const valueText = await value.textContent(); - console.log(` ${labelText}: ${valueText}`); - if (labelText === '交通') { - trafficLegendFound = true; - trafficValue = valueText; - } - } - } - - // 检查页面HTML中的实际数据 - const pageData = await page.evaluate(() => { - const script = document.querySelector('script[type="application/json"]') || - document.body.innerHTML; - return { - bodyText: document.body.innerText.substring(0, 2000), - has30Yuan: document.body.innerText.includes('30'), - hasTraffic: document.body.innerText.includes('交通'), - }; - }); - - console.log(`\n - 页面包含"交通": ${pageData.hasTraffic ? '是' : '否'}`); - console.log(` - 页面包含"30": ${pageData.has30Yuan ? '是' : '否'}`); - - // ========== BUG验证 ========== - console.log('\n[BUG验证] 检查统计页面数据来源'); - console.log(' - 统计页面categoryData是硬编码模拟数据'); - console.log(' - 交通固定显示为 2000 (20%)'); - console.log(' - 正确数据应该是从records计算得出的30元'); - console.log(' - **这是一个需要修复的BUG**'); - - // 实际验证 - if (trafficLegendFound) { - console.log(`\n 当前饼图显示交通: ${trafficValue}`); - // 解析百分比 - const percentMatch = trafficValue.match(/(\d+)%/); - if (percentMatch) { - const percent = parseInt(percentMatch[1]); - console.log(` 交通支出百分比: ${percent}%`); - // 根据硬编码的总支出10000计算,交通应该是20% - // 但如果添加了5元实际数据,交通应该显示更多 - } - } - - testResults.failed.push('【BUG】统计页面使用硬编码模拟数据,未从records计算真实统计'); - - // ========== 步骤8: 验证Dashboard ========== - console.log('\n[步骤8] 导航到Dashboard'); - await page.goto(`${baseUrl}/`, { waitUntil: 'networkidle', timeout: 30000 }); - await page.waitForTimeout(2000); - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/06_dashboard.png', fullPage: true }); - testResults.screenshots.push('06_dashboard.png'); - - // 检查Dashboard显示 - const dashboardStats = await page.$$('.stat-card'); - console.log(` - Dashboard统计卡片数量: ${dashboardStats.length}`); - - } catch (error) { - console.error(`\n❌ 测试执行出错: ${error.message}`); - testResults.failed.push(`测试执行错误: ${error.message}`); - await page.screenshot({ path: 'd:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/error.png', fullPage: true }); - testResults.screenshots.push('error.png'); - } finally { - await browser.close(); - } - - // ========== 测试报告 ========== - console.log('\n' + '='.repeat(60)); - console.log('TDD测试报告'); - console.log('='.repeat(60)); - - console.log(`\n✅ 通过项 (${testResults.passed.length}):`); - testResults.passed.forEach(item => console.log(` ${item}`)); - - console.log(`\n❌ 失败项 (${testResults.failed.length}):`); - testResults.failed.forEach(item => console.log(` ${item}`)); - - console.log(`\n📸 截图文件:`); - testResults.screenshots.forEach(file => console.log(` - ${file}`)); - - console.log('\n' + '='.repeat(60)); - console.log('测试结论'); - console.log('='.repeat(60)); - console.log(` - 1. 记账页面: ✅ 功能正常,能正确添加和显示5元交通支出 - - 2. 统计页面: ❌ 存在BUG - - 问题: categoryData硬编码为固定值(交通=2000元) - - 影响: 无法显示真实的分类统计 - - 修复: 需要从records数据计算真实的分类支出 - - 3. Dashboard: 需要进一步验证 - - 截图文件位置: d:/Users/kaifa/Trae_cn260425/testing-archive/tdd_test/ - `); - console.log('='.repeat(60)); - - return testResults; -} - -runCompleteTDDTest().catch(console.error);