修复ci报错
This commit is contained in:
@@ -4,6 +4,7 @@ import { Entity } from '../src/ECS/Entity';
|
|||||||
import { Component } from '../src/ECS/Component';
|
import { Component } from '../src/ECS/Component';
|
||||||
import { GlobalManager } from '../src/Utils/GlobalManager';
|
import { GlobalManager } from '../src/Utils/GlobalManager';
|
||||||
import { ITimer } from '../src/Utils/Timers/ITimer';
|
import { ITimer } from '../src/Utils/Timers/ITimer';
|
||||||
|
import { WorldManager } from '../src/ECS/WorldManager';
|
||||||
|
|
||||||
// 测试组件
|
// 测试组件
|
||||||
class TestComponent extends Component {
|
class TestComponent extends Component {
|
||||||
@@ -65,6 +66,9 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
// 清除之前的实例
|
// 清除之前的实例
|
||||||
(Core as any)._instance = null;
|
(Core as any)._instance = null;
|
||||||
|
|
||||||
|
// 重置WorldManager全局状态
|
||||||
|
WorldManager.reset();
|
||||||
|
|
||||||
// 模拟console.warn以避免测试输出
|
// 模拟console.warn以避免测试输出
|
||||||
originalConsoleWarn = console.warn;
|
originalConsoleWarn = console.warn;
|
||||||
console.warn = jest.fn();
|
console.warn = jest.fn();
|
||||||
@@ -76,6 +80,9 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
|
|
||||||
// 清理Core实例
|
// 清理Core实例
|
||||||
(Core as any)._instance = null;
|
(Core as any)._instance = null;
|
||||||
|
|
||||||
|
// 重置WorldManager全局状态
|
||||||
|
WorldManager.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('实例创建和管理', () => {
|
describe('实例创建和管理', () => {
|
||||||
@@ -131,7 +138,7 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('应该能够设置场景', () => {
|
test('应该能够设置场景', () => {
|
||||||
Core.scene = testScene;
|
Core.setScene(testScene);
|
||||||
|
|
||||||
expect(Core.scene).toBe(testScene);
|
expect(Core.scene).toBe(testScene);
|
||||||
expect(testScene.beginCalled).toBe(true);
|
expect(testScene.beginCalled).toBe(true);
|
||||||
@@ -150,11 +157,11 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
const secondScene = new TestScene();
|
const secondScene = new TestScene();
|
||||||
|
|
||||||
// 设置第一个场景
|
// 设置第一个场景
|
||||||
Core.scene = firstScene;
|
Core.setScene(firstScene);
|
||||||
expect(firstScene.beginCalled).toBe(true);
|
expect(firstScene.beginCalled).toBe(true);
|
||||||
|
|
||||||
// 设置第二个场景(应该在下一帧切换)
|
// 设置第二个场景(应该在下一帧切换)
|
||||||
Core.scene = secondScene;
|
Core.setScene(secondScene);
|
||||||
|
|
||||||
// 模拟更新循环触发场景切换
|
// 模拟更新循环触发场景切换
|
||||||
Core.update(0.016);
|
Core.update(0.016);
|
||||||
@@ -165,6 +172,8 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('获取场景在未设置时应该返回null', () => {
|
test('获取场景在未设置时应该返回null', () => {
|
||||||
|
// 创建全新的Core实例,确保没有场景设置
|
||||||
|
const core = Core.create(false);
|
||||||
expect(Core.scene).toBeNull();
|
expect(Core.scene).toBeNull();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -180,7 +189,7 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
globalManager = new TestGlobalManager();
|
globalManager = new TestGlobalManager();
|
||||||
|
|
||||||
Core.registerGlobalManager(globalManager);
|
Core.registerGlobalManager(globalManager);
|
||||||
Core.scene = testScene;
|
Core.setScene(testScene);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('应该能够执行更新循环', () => {
|
test('应该能够执行更新循环', () => {
|
||||||
@@ -417,7 +426,7 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
eventSystem: { emit: jest.fn() }
|
eventSystem: { emit: jest.fn() }
|
||||||
});
|
});
|
||||||
|
|
||||||
Core.scene = ecsScene;
|
Core.setScene(ecsScene);
|
||||||
|
|
||||||
expect(Core.ecsAPI).toBeDefined();
|
expect(Core.ecsAPI).toBeDefined();
|
||||||
});
|
});
|
||||||
@@ -431,7 +440,7 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
update: () => {}
|
update: () => {}
|
||||||
};
|
};
|
||||||
|
|
||||||
Core.scene = plainScene as any;
|
Core.setScene(plainScene as any);
|
||||||
|
|
||||||
expect(Core.ecsAPI).toBeNull();
|
expect(Core.ecsAPI).toBeNull();
|
||||||
});
|
});
|
||||||
@@ -454,7 +463,7 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
|
|
||||||
test('更新循环应该包含性能监控', () => {
|
test('更新循环应该包含性能监控', () => {
|
||||||
const scene = new TestScene();
|
const scene = new TestScene();
|
||||||
Core.scene = scene;
|
Core.setScene(scene);
|
||||||
|
|
||||||
const performanceMonitor = (core as any)._performanceMonitor;
|
const performanceMonitor = (core as any)._performanceMonitor;
|
||||||
const startMonitoringSpy = jest.spyOn(performanceMonitor, 'startMonitoring');
|
const startMonitoringSpy = jest.spyOn(performanceMonitor, 'startMonitoring');
|
||||||
@@ -469,12 +478,10 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
|
|
||||||
describe('错误处理', () => {
|
describe('错误处理', () => {
|
||||||
test('设置null场景应该被忽略', () => {
|
test('设置null场景应该被忽略', () => {
|
||||||
Core.create(true);
|
const core = Core.create(false);
|
||||||
|
|
||||||
expect(() => {
|
|
||||||
Core.scene = null;
|
|
||||||
}).not.toThrow();
|
|
||||||
|
|
||||||
|
// Core的新架构中场景不能直接设置为null
|
||||||
|
// 默认情况下Core.scene应该为null(没有设置场景时)
|
||||||
expect(Core.scene).toBeNull();
|
expect(Core.scene).toBeNull();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -487,7 +494,7 @@ describe('Core - 核心管理系统测试', () => {
|
|||||||
throw new Error('Test error');
|
throw new Error('Test error');
|
||||||
};
|
};
|
||||||
|
|
||||||
Core.scene = errorScene;
|
Core.setScene(errorScene);
|
||||||
|
|
||||||
// 由于Core目前不捕获场景异常,我们预期它会抛出异常
|
// 由于Core目前不捕获场景异常,我们预期它会抛出异常
|
||||||
// 这是一个已知的行为,可以在未来版本中改进
|
// 这是一个已知的行为,可以在未来版本中改进
|
||||||
|
|||||||
Reference in New Issue
Block a user