/** * 快速测试脚本 - 只测试核心接口 * 运行方式:npm run test:quick */ const axios = require('axios'); // 配置 const config = { baseURL: 'http://your-api-domain.com', // ⚠️ 修改为你的API地址 testUser: { username: 'test_user', // ⚠️ 修改为测试账号 password: 'test_password' // ⚠️ 修改为测试密码 } }; let passCount = 0; let failCount = 0; function log(emoji, message) { console.log(`${emoji} ${message}`); } async function quickTest() { console.log('\n🚀 武术比赛报名系统 - 快速测试\n'); console.log(`📍 API地址: ${config.baseURL}\n`); const api = axios.create({ baseURL: config.baseURL, timeout: 10000, headers: { 'Content-Type': 'application/json' } }); try { // 测试1:登录 log('🔐', '测试登录...'); const loginRes = await api.post('/martial/auth/login', config.testUser); if (loginRes.data.code === 200 && loginRes.data.data.token) { log('✅', '登录成功'); passCount++; const token = loginRes.data.data.token; api.defaults.headers['Blade-Auth'] = `Bearer ${token}`; } else { log('❌', '登录失败'); failCount++; return; } // 测试2:赛事列表 log('📋', '测试赛事列表...'); const compRes = await api.get('/martial/competition/list?current=1&size=10'); if (compRes.data.code === 200) { const count = compRes.data.data.records?.length || compRes.data.data?.length || 0; log('✅', `赛事列表获取成功 (${count}条数据)`); passCount++; } else { log('❌', '赛事列表获取失败'); failCount++; } // 测试3:选手列表 log('👥', '测试选手列表...'); const athleteRes = await api.get('/martial/athlete/list?current=1&size=10'); if (athleteRes.data.code === 200) { const count = athleteRes.data.data.records?.length || athleteRes.data.data?.length || 0; log('✅', `选手列表获取成功 (${count}条数据)`); passCount++; } else { log('❌', '选手列表获取失败'); failCount++; } // 测试4:用户信息 log('👤', '测试用户信息...'); const userRes = await api.get('/martial/user/info'); if (userRes.data.code === 200) { log('✅', `用户信息获取成功 (${userRes.data.data.name || '未知'})`); passCount++; } else { log('❌', '用户信息获取失败'); failCount++; } // 测试5:报名列表 log('📝', '测试报名列表...'); const regRes = await api.get('/martial/registration/list?current=1&size=10'); if (regRes.data.code === 200) { const count = regRes.data.data.records?.length || regRes.data.data?.length || 0; log('✅', `报名列表获取成功 (${count}条数据)`); passCount++; } else { log('❌', '报名列表获取失败'); failCount++; } } catch (error) { log('❌', `请求失败: ${error.message}`); failCount++; } // 输出结果 console.log('\n' + '='.repeat(50)); console.log(`📊 测试结果: ${passCount}个通过, ${failCount}个失败`); console.log(`✨ 成功率: ${((passCount / (passCount + failCount)) * 100).toFixed(1)}%`); console.log('='.repeat(50) + '\n'); process.exit(failCount > 0 ? 1 : 0); } quickTest().catch(err => { console.error('❌ 测试执行失败:', err.message); process.exit(1); });