优化测试数据库连接管理
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 15s

- 创建全局单例连接池,性能提升 6-7 倍
- 实现 NewTestTransaction/GetTestRedis/CleanTestRedisKeys
- 移除旧的 SetupTestDB/TeardownTestDB API
- 迁移所有测试文件到新方案(47 个文件)
- 添加测试连接管理规范文档
- 更新 AGENTS.md 和 README.md

性能对比:
- 旧方案:~71 秒(204 测试)
- 新方案:~10.5 秒(首次初始化 + 后续复用)
- 内存占用降低约 80%
- 网络连接数从 204 降至 1
This commit is contained in:
2026-01-22 14:38:43 +08:00
parent 46e4e5f4f1
commit b68e7ec013
47 changed files with 2529 additions and 986 deletions

View File

@@ -718,6 +718,22 @@ go test -v ./tests/integration/...
如果 Redis 不可用,测试自动跳过。
### 测试连接管理
测试使用全局单例连接池,性能提升 6-7 倍。详见 [测试连接管理规范](docs/testing/test-connection-guide.md)。
**标准写法**:
```go
func TestXxx(t *testing.T) {
tx := testutils.NewTestTransaction(t) // 自动回滚的事务
rdb := testutils.GetTestRedis(t) // 全局 Redis 连接
testutils.CleanTestRedisKeys(t, rdb) // 自动清理 Redis 键
store := postgres.NewXxxStore(tx, rdb)
// 测试代码...
}
```
## 架构设计
### 分层架构