优化测试数据库连接管理
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 15s
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:
16
README.md
16
README.md
@@ -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)
|
||||
// 测试代码...
|
||||
}
|
||||
```
|
||||
|
||||
## 架构设计
|
||||
|
||||
### 分层架构
|
||||
|
||||
Reference in New Issue
Block a user