Skip to content

Commit c72e2cf

Browse files
committed
test: 增加路由的集成测试
- 新增多个集成测试,涵盖认证、聊天、知识库和系统路由的API端点 - 更新测试环境变量配置,确保测试凭据的灵活性 - 移除冗余的测试文件,优化测试结构
1 parent d7e0b22 commit c72e2cf

16 files changed

+426
-1065
lines changed

.env.template

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,7 @@ NEO4J_URI=
3737
NEO4J_USERNAME=
3838
NEO4J_PASSWORD=
3939
# endregion neo4j
40+
41+
# Servies
42+
YUXI_SUPER_ADMIN_NAME=
43+
YUXI_SUPER_ADMIN_PASSWORD=

AGENTS.md

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,6 @@ Yuxi-Know 是一个基于知识图谱和向量数据库的智能知识库系统
55

66
文档中心在 `docs` 文件夹下面。
77

8-
9-
# 核心服务与容器 (Core Services & Containers)
10-
11-
项目使用 Docker Compose 管理多个服务,主要容器名称如下:
12-
- `api-dev` - FastAPI 后端服务
13-
- `web-dev` - Vue.js 前端开发服务器
14-
- `graph` - Neo4j 图数据库
15-
- `milvus` - 向量数据库,包含 etcd 和 MinIO 依赖
16-
- `mineru` - 可选的 MinerU OCR 服务(需要 GPU)
17-
- `paddlex` - 可选的 PaddleX OCR 服务(需要 GPU)
18-
198
## 开发与调试工作流 (Development & Debugging Workflow)
209

2110
本项目完全通过 Docker Compose 进行管理。所有开发和调试都应在运行的容器环境中进行。使用 `docker compose up -d` 命令进行构建和启动。
@@ -32,7 +21,7 @@ Yuxi-Know 是一个基于知识图谱和向量数据库的智能知识库系统
3221

3322
后端开发规范:
3423

35-
- 项目使用 uv 来管理依赖
24+
- 项目使用 uv 来管理依赖,所以需要使用 uv run 来调试。
3625
- Python 代码要符合 Python 的规范,尽量使用较新的语法,避免使用旧版本的语法(版本兼容到 3.12+),使用 make lint 检查 lint。使用 make format 来格式化代码。
3726

3827
其他:

Makefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11

2-
.PHONY: start logs
2+
.PHONY: start stop logs lint format format_diff router-tests
3+
4+
PYTEST_ARGS ?=
35

46
start:
57
docker compose up -d
@@ -27,4 +29,7 @@ format:
2729
uv run ruff check . --fix
2830

2931
format_diff:
30-
uv run ruff format --diff .
32+
uv run ruff format --diff .
33+
34+
router-tests:
35+
docker compose exec -T api uv run --group test pytest test/api $(PYTEST_ARGS)

docs/changelog/contributing.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,29 @@ chore: 构建过程或辅助工具的变动
6060

6161
### 测试要求
6262

63-
::: info
64-
部分测试脚本待补充
63+
::: tip 测试
64+
- `make lint` / `make format` 保持代码整洁
65+
- `cp test/.env.test.example test/.env.test` 配置测试凭据
66+
- `make router-tests` 运行集成路由测试,支持 `PYTEST_ARGS="-k chat_router"`
67+
- `uv run --group test pytest test/api` 可直接运行 pytest(容器内)
6568
:::
6669

67-
- 确保所有测试通过
68-
- 添加新功能的测试用例
69-
- 验证现有功能不受影响
70-
- 测试不同环境下的兼容性
70+
<details>
71+
<summary>常用命令</summary>
72+
73+
```bash
74+
# 全量路由测试
75+
make router-tests
76+
77+
# 仅运行知识库相关用例
78+
make router-tests PYTEST_ARGS="-k knowledge_router"
79+
80+
# 不经过 Makefile,直接调用 pytest
81+
uv run --group test pytest test/api -vv
82+
```
83+
84+
</details>
7185

7286
## 许可证
7387

7488
本项目基于 MIT License 开源,贡献的代码将遵循相同的许可证。
75-

test/.env.test.example

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
TEST_BASE_URL=http://localhost:5050
66

77
# 测试用户凭据
8-
TEST_USERNAME=zwj
9-
TEST_PASSWORD=zwj12138
8+
TEST_USERNAME=
9+
TEST_PASSWORD=
1010

1111
# 数据库连接(如果需要)
1212
# DATABASE_URL=sqlite:///test.db

test/README.md

Lines changed: 0 additions & 252 deletions
This file was deleted.

0 commit comments

Comments
 (0)