12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- """
- 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()
|