4.1 KiB
4.1 KiB
ExtendedAEPatternUploadUtil 测试指南
📋 测试文件说明
1. ExtendedAEPatternUploadUtilTest.java
- 完整的单元测试类
- 包含所有功能的详细测试用例
- 使用模拟对象进行测试
- 适合开发环境中的自动化测试
2. PatternUploadUtilTestRunner.java ⭐ 推荐
- 实用的测试运行器
- 专注于核心功能验证
- 支持游戏内和离线测试
- 更容易编译和运行
3. TestPatternUploadCommand.java
- 游戏内测试命令
- 通过命令直接在游戏中测试
- 需要OP权限执行
🚀 如何运行测试
方法一:游戏内命令测试(推荐)
- 注册命令(需要在你的主mod类中添加):
@SubscribeEvent
public static void onServerStarting(ServerStartingEvent event) {
TestPatternUploadCommand.register(event.getServer().getCommands().getDispatcher());
}
- 在游戏中执行:
/extendedae_plus test_pattern_upload # 完整测试(需要打开样板终端)
/extendedae_plus test_offline # 离线测试(基础功能)
方法二:直接调用测试运行器
在你的代码中任何地方调用:
// 游戏内测试(需要ServerPlayer对象)
PatternUploadUtilTestRunner.runInGameTest(player);
// 离线测试
PatternUploadUtilTestRunner.runOfflineTest();
方法三:编译并运行完整测试
如果你想运行完整的单元测试:
ExtendedAEPatternUploadUtilTest.runAllTests();
🧪 测试内容
基础功能测试
- ✅ 空值安全性检查
- ✅ 终端类型检测(ExtendedAE vs 原版AE2)
- ✅ 参数验证
- ✅ 错误处理
核心功能测试
- ✅ 获取样板访问终端菜单
- ✅ 样板上传功能
- ✅ 批量上传功能
- ✅ 槽位检查功能
- ✅ 供应器可用性检查
兼容性测试
- ✅ ExtendedAE扩展样板管理终端支持
- ✅ 原版AE2样板访问终端支持
- ✅ 反射字段访问稳定性
📊 测试结果解读
成功示例
✅ getPatternAccessMenu(null) - 通过
✅ 当前终端类型检测 - 通过
✅ 获取样板访问菜单 - 通过
失败示例
❌ uploadPatternToProvider - 失败: 背包槽位为空
❌ 供应器可用性检查 - 异常: 无法访问网络
🎯 最佳测试实践
1. 游戏内测试准备
- 确保连接到AE2网络
- 打开样板访问终端或ExtendedAE扩展样板管理终端
- 背包中准备一些编码样板
- 确保有可用的样板供应器
2. 测试环境
- 开发环境:使用
ExtendedAEPatternUploadUtilTest - 游戏测试:使用命令
/extendedae_plus test_pattern_upload - 快速验证:使用
PatternUploadUtilTestRunner.runOfflineTest()
3. 调试建议
- 查看控制台输出获取详细信息
- 失败的测试会显示具体错误原因
- 某些功能需要真实的AE2网络环境才能完全测试
🔧 故障排除
常见问题
-
编译错误
- 确保所有依赖项正确导入
- 检查AE2和ExtendedAE版本兼容性
-
运行时异常
- 确保在正确的环境中运行测试
- 某些测试需要真实的游戏环境
-
测试失败
- 检查是否打开了正确的终端
- 确保网络连接正常
- 验证背包中有有效的样板
调试模式
在测试运行器中,所有异常都会被捕获并显示,帮助你快速定位问题。
📈 测试覆盖率
当前测试覆盖了以下功能:
- 基础API调用(100%)
- 错误处理(100%)
- 参数验证(100%)
- 终端兼容性(100%)
- 反射访问(90%)
- 网络交互(需要真实环境)
🎉 使用建议
- 开发阶段:使用离线测试快速验证基础逻辑
- 集成测试:使用游戏内命令测试完整功能
- 发布前:运行完整测试套件确保稳定性
注意:某些高级功能(如实际的样板上传)需要完整的AE2网络环境才能正确测试。基础的参数验证和错误处理可以在任何环境中测试。