| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- const dotenv = require('dotenv');
- const express = require('express');
- const { initializeParseServer } = require('../../src/config/parse-server');
- const { initializeParseSDK } = require('../../src/config/parse-sdk');
- // 加载测试环境变量
- dotenv.config({ path: '.env.test' });
- // 设置测试超时
- jest.setTimeout(30000);
- let testServer = null;
- // 全局测试配置
- beforeAll(async () => {
- console.log('🧪 开始集成测试...');
-
- try {
- // 1. 初始化Parse Server
- await initializeParseServer();
- console.log('✅ Parse Server 初始化成功');
-
- // 2. 创建简单的Express服务器来托管Parse Server
- const app = express();
-
- // 挂载Parse Server中间件
- const { getParseServerMiddleware } = require('../../src/config/parse-server');
- app.use('/parse', getParseServerMiddleware());
-
- // 3. 启动测试服务器
- const PORT = process.env.PORT || 3001;
- testServer = app.listen(PORT, () => {
- console.log(`✅ 测试服务器启动成功,端口: ${PORT}`);
- });
-
- // 4. 等待服务器完全启动
- await new Promise(resolve => setTimeout(resolve, 2000));
-
- // 5. 初始化Parse SDK - 确保使用parse-sdk.ts中的配置
- await initializeParseSDK();
- console.log('✅ Parse SDK 初始化成功');
-
- // 6. 验证Parse SDK是否正确配置
- const Parse = require('parse/node');
- if (!Parse.applicationId) {
- throw new Error('Parse SDK 未正确初始化 - applicationId 缺失');
- }
- console.log('✅ Parse SDK 验证成功');
- } catch (error) {
- console.error('❌ 测试环境初始化失败:', error);
- throw error;
- }
- });
- afterAll(async () => {
- console.log('✅ 集成测试完成');
-
- // 关闭测试服务器
- if (testServer) {
- testServer.close(() => {
- console.log('✅ 测试服务器已关闭');
- });
- }
- });
|