- 更新所有 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.9 KiB
1.9 KiB
e2e
Purpose
端到端测试模块,验证完整功能的集成测试。使用 testcontainers 启动真实后端服务进行测试。
Key Files
| File | Description |
|---|---|
e2e_test.go |
测试入口和通用测试辅助函数 |
cache_e2e_test.go |
代理缓存端到端测试 |
healthcheck_e2e_test.go |
健康检查端到端测试 |
http2_e2e_test.go |
HTTP/2 端到端测试 |
loadbalance_e2e_test.go |
负载均衡端到端测试 |
proxy_e2e_test.go |
反向代理端到端测试 |
ssl_e2e_test.go |
SSL/TLS 端到端测试 |
static_e2e_test.go |
静态文件服务端到端测试 |
websocket_e2e_test.go |
WebSocket 代理端到端测试 |
Subdirectories
| Directory | Purpose |
|---|---|
testutil/ |
测试工具函数(容器、配置、证书) |
certs/ |
测试用 TLS 证书 |
configs/ |
测试用配置文件 |
For AI Agents
Working In This Directory
- 端到端测试需要 Docker 环境运行 testcontainers
- 测试启动真实 lolly 服务器和 mock 后端
- 使用
testutil包提供的辅助函数创建测试环境 - 测试名称遵循
TestE2E_<功能>_<场景>格式
Testing Requirements
- 运行测试:
go test ./internal/e2e/... -tags=e2e - 需要 Docker 运行
- 测试可能需要较长时间(启动容器)
Common Patterns
// 创建测试环境
env := testutil.NewTestEnv(t)
defer env.Cleanup()
// 启动 lolly 服务器
env.StartServer(config)
defer env.StopServer()
// 启动 mock 后端
backend := env.StartMockBackend()
defer backend.Close()
// 发送测试请求
resp := env.Request("GET", "/api/test", nil)
Dependencies
Internal
./testutil/- 测试工具函数../server/- HTTP 服务器../config/- 配置加载
External
github.com/testcontainers/testcontainers-go- 容器化测试