初次提交
This commit is contained in:
50
backend/test_api_exception.py
Normal file
50
backend/test_api_exception.py
Normal file
@@ -0,0 +1,50 @@
|
||||
import sys
|
||||
import traceback
|
||||
from fastapi import FastAPI
|
||||
from fastapi.testclient import TestClient
|
||||
from app.core.database import get_db
|
||||
from app.services.user_service import UserService
|
||||
from app.schemas.auth import UserRegister
|
||||
|
||||
def test_api_exception():
|
||||
"""测试API异常处理"""
|
||||
try:
|
||||
print("=== 测试API异常处理 ===")
|
||||
|
||||
# 导入应用
|
||||
import sys
|
||||
import os
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
from main import app
|
||||
|
||||
# 创建测试客户端
|
||||
client = TestClient(app)
|
||||
|
||||
# 测试重复邮箱注册
|
||||
print("1. 测试重复邮箱注册...")
|
||||
response = client.post("/api/v1/auth/register", json={
|
||||
"username": "test_api",
|
||||
"email": "user@example.com", # 重复邮箱
|
||||
"password": "TestPass123!",
|
||||
"confirm_password": "TestPass123!"
|
||||
})
|
||||
|
||||
print(f" HTTP状态码: {response.status_code}")
|
||||
print(f" 响应内容: {response.json()}")
|
||||
|
||||
if response.status_code == 400:
|
||||
print(" ✓ 正确返回400错误")
|
||||
detail = response.json().get("detail", {})
|
||||
if detail.get("code") == "EMAIL_EXISTS":
|
||||
print(" ✓ 正确返回EMAIL_EXISTS错误码")
|
||||
else:
|
||||
print(f" ✗ 错误码不正确: {detail.get('code')}")
|
||||
else:
|
||||
print(f" ✗ 状态码不正确,期望400,实际{response.status_code}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"测试过程出错: {e}")
|
||||
traceback.print_exc()
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_api_exception()
|
||||
Reference in New Issue
Block a user