Files
FastapiAdmin/backend/tests/conftest.py
T
zhangtao 9f3846adca feat(tenant): 新增多租户功能支持
refactor(application): 重构应用模块为门户应用,支持租户隔离
feat(portal): 添加门户应用管理功能

perf(health): 新增就绪探针检查,优化健康检查接口
fix(middleware): 修复请求日志中间件的异常处理

style(menu): 调整菜单表格列顺序,优化展示效果
style(table): 优化表格内操作按钮的焦点样式

docs: 更新README文档,修正智能体框架描述
chore(deps): 移除langchain相关依赖,更新项目依赖

test: 添加多租户相关测试用例
ci: 更新CI配置,支持多租户测试环境

build: 更新构建配置,支持租户插件
2026-04-07 00:53:22 +08:00

35 lines
1.1 KiB
Python

import os
import sys
# 必须在首次 import app 之前设置,以便 Settings / database 引擎使用 SQLite 与内存 Redis
_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
sys.path.insert(0, _ROOT)
os.environ.setdefault("ENVIRONMENT", "dev")
os.environ["TESTING"] = "1"
os.environ["DATABASE_TYPE"] = "sqlite"
os.environ["DATABASE_NAME"] = os.path.join(_ROOT, "pytest_fastapiadmin")
import pytest
from fastapi.testclient import TestClient
from main import create_app
# 创建测试客户端(依赖上述环境变量)
app = create_app()
@pytest.fixture(scope="session")
def test_client():
"""
会话级 HTTP 测试客户端(与 ``conftest`` 中单例 ``app`` 对齐,只启动一次生命周期)。
若使用 ``module`` 作用域,多个测试文件各开一个 ``TestClient`` 会重复驱动同一
``app`` 的 lifespan,易导致第二次 ``__enter__`` 时出现 ``CancelledError``。
返回:
- TestClient: 供用例发起的同步测试客户端(yield 注入)。
"""
with TestClient(app) as client:
yield client