#!/usr/bin/env node const IncrementalUpdater = require('./incremental-updater'); /** * 🧪 增量更新功能测试 */ async function testIncrementalUpdate() { console.log('🧪 开始测试增量更新功能...\n'); try { // 设置测试环境 process.env.DRY_RUN = 'true'; console.log('📋 测试配置:'); console.log('- 干运行模式: 启用'); console.log('- 详细输出: 启用'); console.log('- 测试环境: 开发环境\n'); // 创建增量更新器实例 const updater = new IncrementalUpdater(); console.log('🔧 增量更新器配置:'); console.log(`- PHP项目路径: ${updater.config.phpBasePath}`); console.log(`- NestJS项目路径: ${updater.config.nestjsBasePath}`); console.log(`- 状态文件路径: ${updater.config.stateFilePath}`); console.log(`- 备份路径: ${updater.config.backupPath}`); console.log(`- 干运行模式: ${updater.config.dryRun}\n`); // 执行增量更新 console.log('🚀 执行增量更新...'); const result = await updater.run(); if (result !== false) { console.log('\n✅ 增量更新测试成功完成!'); console.log('📊 测试结果: 所有功能正常工作'); } else { console.log('\n❌ 增量更新测试失败'); console.log('📊 测试结果: 存在功能问题'); } } catch (error) { console.error('\n💥 测试过程中发生错误:'); console.error('错误信息:', error.message); console.error('错误堆栈:', error.stack); console.log('\n🔧 可能的原因:'); console.log('1. PHP项目路径不存在或无法访问'); console.log('2. NestJS项目路径不存在或无法访问'); console.log('3. 文件权限不足'); console.log('4. 依赖模块缺失'); process.exit(1); } } // 运行测试 if (require.main === module) { testIncrementalUpdate(); } module.exports = { testIncrementalUpdate };