ETest-Vue-FastAPI/test_jsonable.py

42 lines
1.2 KiB
Python
Raw Normal View History

2026-04-15 19:06:01 +08:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
sys.path.insert(0, 'ruoyi-fastapi-backend')
from datetime import date, datetime
from fastapi.encoders import jsonable_encoder
# 测试各种日期格式
test_cases = [
{'name': 'normal date', 'date': date(2026, 1, 12)},
{'name': 'normal datetime', 'date': datetime(2026, 4, 15, 13, 27, 44)},
{'name': 'min date', 'date': date(1, 1, 1)},
{'name': 'min datetime', 'date': datetime(1, 1, 1, 0, 0, 0)},
{'name': 'max date', 'date': date(9999, 12, 31)},
]
for tc in test_cases:
try:
result = jsonable_encoder({'date': tc['date']})
print(f"[OK] {tc['name']}: {result}")
except Exception as e:
print(f"[ERR] {tc['name']}: {e}")
# 测试包含中文的数据
data = {
'receiptNo': '2026内检509',
'receiptDate': date(2026, 1, 12),
'createTime': datetime(2026, 4, 15, 13, 27, 44),
'samples': [
{'sampleId': 3879, 'createTime': datetime(2026, 4, 15, 13, 27, 44)}
]
}
try:
result = jsonable_encoder(data)
print(f"\n[OK] Full data encoding success")
except Exception as e:
import traceback
print(f"\n[ERR] Full data encoding failed: {e}")
traceback.print_exc()