#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 测试配置工具修复后的行为 验证从Excel导入JSON后不再包含stats.attack字段 """ import json import sys from pathlib import Path def test_enemies_json_structure(): """测试enemies.json的结构是否正确""" json_path = Path(__file__).parent.parent / 'enemies.json' if not json_path.exists(): print(f"错误: JSON文件不存在: {json_path}") return False try: with open(json_path, 'r', encoding='utf-8') as f: data = json.load(f) enemies = data.get('enemies', []) print(f"找到 {len(enemies)} 个敌人配置") has_stats_attack = False attack_issues = [] for enemy in enemies: enemy_id = enemy.get('id', 'unknown') stats = enemy.get('stats', {}) combat = enemy.get('combat', {}) # 检查stats中是否有attack字段 if 'attack' in stats: has_stats_attack = True attack_issues.append(f"敌人 {enemy_id} 的stats中包含attack字段: {stats['attack']}") # 检查combat中是否有attackDamage字段 if 'attackDamage' not in combat: attack_issues.append(f"敌人 {enemy_id} 的combat中缺少attackDamage字段") else: print(f"敌人 {enemy_id}: combat.attackDamage = {combat['attackDamage']}") if has_stats_attack: print("\n❌ 测试失败: 发现stats.attack字段") for issue in attack_issues: print(f" - {issue}") return False else: print("\n✅ 测试通过: 没有发现stats.attack字段") print("✅ 所有敌人都使用combat.attackDamage作为攻击力源") return True except Exception as e: print(f"测试失败: {e}") return False if __name__ == "__main__": print("开始测试敌人配置结构...") success = test_enemies_json_structure() sys.exit(0 if success else 1)