- 更新所有 AGENTS.md 时间戳至 2026-04-24 - 添加 converter、e2e、testutil 模块文档 - 更新 README.md:nginx 配置导入、stale 缓存功能说明 - 更新项目统计:132 Go 文件,157 测试文件 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
testutil
Purpose
端到端测试工具包,提供测试环境搭建、容器管理、证书生成、配置辅助等功能。
Key Files
| File | Description |
|---|---|
setup.go |
测试环境初始化:NewTestEnv、Cleanup |
config.go |
配置辅助:创建测试配置、临时文件 |
constants.go |
测试常量:默认端口、超时时间 |
container.go |
容器管理:启动 mock 后端、清理容器 |
container_test.go |
容器管理测试 |
certs.go |
证书生成:自签名证书、CA 证书 |
ssl.go |
SSL 辅助:TLS 配置、证书验证 |
websocket.go |
WebSocket 辅助:WS 客户端、消息收发 |
concurrent.go |
并发测试辅助:并发请求、结果收集 |
For AI Agents
Working In This Directory
NewTestEnv(t)创建测试环境,返回清理函数- 测试环境自动管理临时文件和端口分配
- 容器化测试需要 Docker 运行
- 证书生成用于 TLS 测试
Testing Requirements
- 运行测试:
go test ./internal/e2e/testutil/... - 部分测试需要 Docker
Common Patterns
// 创建测试环境
env := testutil.NewTestEnv(t)
defer env.Cleanup()
// 创建临时配置文件
cfgPath := env.CreateConfig(serverConfig)
// 启动容器化后端
container := env.StartContainer(containerConfig)
defer container.Terminate()
// 生成测试证书
cert, key := env.GenerateCertificate()
Dependencies
Internal
../../config/- 配置结构体
External
github.com/testcontainers/testcontainers-go- 容器管理