lolly/internal/e2e/AGENTS.md
xfy 2122067efb docs: 更新 AGENTS.md 文档,添加新模块说明
- 更新所有 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>
2026-04-24 18:24:31 +08:00

73 lines
1.9 KiB
Markdown

<!-- Parent: ../AGENTS.md -->
<!-- Generated: 2026-04-24 | Updated: 2026-04-24 -->
# 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
```go
// 创建测试环境
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` - 容器化测试
<!-- MANUAL: -->