测试套件布局
约定的测试目录结构和文件命名规范
目录结构
标准的 Test::Nginx 项目使用如下目录布局:
text
1project-root/2 t/3 000-sanity.t # 基本健康检查4 001-basic.t # 基础功能测试5 002-request.t # 请求相关测试6 003-response.t # 响应相关测试7 ...8 servroot/ # 自动生成的 Nginx 运行目录(不要提交)9 lib/ # 项目的 Perl 模块10 conf/ # 可选的配置模板文件命名约定
- 使用数字前缀保证执行顺序:
001-xxx.t、002-xxx.t - 文件名使用小写字母和连字符
- 文件扩展名必须是
.t - 使用描述性名称表达测试意图
虽然 prove 默认按文件名排序执行,但 Test::Nginx 默认会 随机打乱 测试块的执行顺序。可以通过 no_shuffle() 禁用。
建议每个 .t 文件聚焦一个功能特性,保持文件大小适中。过大的文件会影响调试效率。
servroot 目录
测试运行时,框架会在 t/servroot/ 下创建完整的 Nginx 运行环境:
| 路径 | 说明 |
|---|---|
t/servroot/conf/nginx.conf | 自动生成的配置文件 |
t/servroot/html/ | 文档根目录 |
t/servroot/logs/error.log | 错误日志 |
t/servroot/logs/access.log | 访问日志 |
调试时查看 t/servroot/conf/nginx.conf 可以了解框架生成了什么样的配置。