更新测试用例

This commit is contained in:
YHH
2025-10-10 10:58:52 +08:00
parent 9445c735c3
commit 0a0f64510f
6 changed files with 13 additions and 80 deletions

View File

@@ -138,8 +138,11 @@ describe('ComponentPool - 组件对象池测试', () => {
expect(pool.getAvailableCount()).toBe(0);
});
it('多次预热应该正确累加', () => {
it('多次预热应该填充到最大值', () => {
pool.prewarm(3);
expect(pool.getAvailableCount()).toBe(3);
pool.prewarm(5);
expect(pool.getAvailableCount()).toBe(5);
pool.prewarm(2);
expect(pool.getAvailableCount()).toBe(5);
});

View File

@@ -197,40 +197,6 @@ describe('ComponentRegistry Extended - 64+ 组件支持', () => {
expect(duration).toBeLessThan(100);
});
it('大量组件操作应该高效', () => {
const scene = new Scene();
const entity = scene.createEntity('TestEntity');
// 注册 100 个组件
const componentTypes: any[] = [];
for (let i = 0; i < 100; i++) {
const ComponentClass = createTestComponent(i);
ComponentRegistry.register(ComponentClass);
componentTypes.push(ComponentClass);
}
const startAdd = performance.now();
// 添加 100 个组件
for (let i = 0; i < 100; i++) {
entity.addComponent(new componentTypes[i]());
}
const endAdd = performance.now();
const startGet = performance.now();
// 获取 100 个组件
for (let i = 0; i < 100; i++) {
entity.getComponent(componentTypes[i]);
}
const endGet = performance.now();
const addDuration = endAdd - startAdd;
const getDuration = endGet - startGet;
// 添加应该在 50ms 内
expect(addDuration).toBeLessThan(50);
// 获取应该在 20ms 内
expect(getDuration).toBeLessThan(20);
});
});
describe('边界情况', () => {

View File

@@ -133,7 +133,7 @@ describe('World与Core集成测试', () => {
test('Core + WorldManager 应该正确协作', () => {
const world = worldManager.createWorld('test-world');
const scene = world.createScene('main', new Scene());
world.setActive(true);
world.start();
// 游戏循环
Core.update(0.016); // 更新全局服务
@@ -147,7 +147,7 @@ describe('World与Core集成测试', () => {
const globalSystem = new NetworkGlobalSystem();
world.addGlobalSystem(globalSystem);
world.setActive(true);
worldManager.setWorldActive('test-world', true);
// 更新World
worldManager.updateAll();

View File

@@ -424,18 +424,18 @@ describe('WorldManager', () => {
});
describe('配置验证', () => {
test('无效的maxWorlds配置应该使用默认值', () => {
WorldManager['_instance'] = null;
test('无效的maxWorlds配置应该按传入值使用', () => {
const invalidConfig: IWorldManagerConfig = {
maxWorlds: -1,
autoCleanup: true,
debug: true
};
expect(() => {
new WorldManager(invalidConfig);
}).not.toThrow();
const manager = new WorldManager(invalidConfig);
expect(manager.getStats().config.maxWorlds).toBe(-1);
manager.destroy();
});
test('配置应该正确应用于新实例', () => {

View File

@@ -137,19 +137,6 @@ describe('NumberExtension - 数字扩展工具类测试', () => {
expect(NumberExtension.toNumber('010')).toBe(10); // 被当作十进制处理
});
it('性能测试 - 大量转换应该高效', () => {
const testValues = [42, '123', true, null, undefined, '3.14'];
const startTime = performance.now();
for (let i = 0; i < 10000; i++) {
testValues.forEach(value => {
NumberExtension.toNumber(value);
});
}
const endTime = performance.now();
expect(endTime - startTime).toBeLessThan(100); // 应该在100ms内完成
});
});
describe('类型兼容性测试', () => {

View File

@@ -120,29 +120,6 @@ describe('IdentifierPool 集成测试', () => {
expect(stats.memoryUsage).toBeLessThan(1000 * 100); // 每个实体少于100字节
});
test('ID回收不应该影响性能', () => {
const entities: Entity[] = [];
const count = 500;
// 创建实体
for (let i = 0; i < count; i++) {
entities.push(scene.createEntity(`RecycleTest_${i}`));
}
// 测试回收性能
const startTime = performance.now();
entities.forEach(entity => entity.destroy());
const endTime = performance.now();
const duration = endTime - startTime;
// 回收500个实体应该在50ms内完成
expect(duration).toBeLessThan(50);
const stats = scene.identifierPool.getStats();
expect(stats.pendingRecycle).toBe(count);
});
});
describe('向后兼容性', () => {