""" Cd通量移除接口测试脚本 @description: 验证新创建的Cd通量移除计算接口是否正常工作 """ import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from app.services.cd_flux_removal_service import CdFluxRemovalService import logging # 设置日志 logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def test_cd_flux_removal_service(): """ 测试Cd通量移除服务的各个功能 """ print("=== Cd通量移除服务测试 ===") service = CdFluxRemovalService() area = "韶关" # 使用默认的测试区域 print(f"\n1. 测试籽粒移除计算...") try: grain_result = service.calculate_grain_removal_by_area(area) print(f"籽粒移除计算结果: {grain_result['success']}") if grain_result['success']: print(f" - 计算样本数: {grain_result['data']['statistics']['total_samples']}") print(f" - 平均通量: {grain_result['data']['statistics']['mean_flux']:.6f} g/ha/a") else: print(f" - 错误信息: {grain_result['message']}") except Exception as e: print(f" - 测试失败: {str(e)}") print(f"\n2. 测试秸秆移除计算...") try: straw_result = service.calculate_straw_removal_by_area(area) print(f"秸秆移除计算结果: {straw_result['success']}") if straw_result['success']: print(f" - 计算样本数: {straw_result['data']['statistics']['total_samples']}") print(f" - 平均通量: {straw_result['data']['statistics']['mean_flux']:.6f} g/ha/a") else: print(f" - 错误信息: {straw_result['message']}") except Exception as e: print(f" - 测试失败: {str(e)}") print(f"\n3. 测试同时计算...") try: both_result = service.calculate_both_removals_by_area(area) print(f"同时计算结果: {both_result['success']}") if both_result['success']: print(f" - 成功获取籽粒和秸秆移除数据") else: print(f" - 错误信息: {both_result['message']}") except Exception as e: print(f" - 测试失败: {str(e)}") print(f"\n=== 测试完成 ===") if __name__ == "__main__": test_cd_flux_removal_service()