运行测试
使用 prove 和环境变量控制测试的执行
使用 prove
prove 是 Perl 自带的测试运行器,是执行 Test::Nginx 测试的标准工具:
bash
1# 运行所有测试(递归)2prove -r t/34# 详细输出模式5prove -v t/001-basic.t67# 并行运行(4 个 job)8prove -j4 -r t/910# 指定 Perl 包含路径11prove -Ilib -v t/运行单个测试块
有三种方式只运行某个测试块:
方式 1:在测试块中添加 --- ONLY 段
方式 2:使用环境变量 TEST_NGINX_NO_SHUFFLE=1 配合 --- LAST
方式 3:使用 TEST_NGINX_FIRST_BLOCK_ONLY=1 只运行第一个块
perl
1=== TEST 3: debug this specific test2--- ONLY3--- config4 location /t {5 return 200 "debug me";6 }7--- request8GET /t9--- response_body10debug meONLY 段仅用于调试,提交代码前务必移除,否则其他测试都会被跳过。
环境变量控制
常用的测试控制环境变量:
| 变量 | 说明 |
|---|---|
TEST_NGINX_BINARY | 指定 Nginx 可执行文件路径 |
TEST_NGINX_NO_SHUFFLE | 禁止随机打乱测试顺序 |
TEST_NGINX_SERVROOT | 自定义 servroot 路径 |
TEST_NGINX_PORT | 自定义监听端口(默认随机) |
TEST_NGINX_VERBOSE | 启用详细日志输出 |
bash
1# 指定自编译的 Nginx2TEST_NGINX_BINARY=/usr/local/openresty/nginx/sbin/nginx prove -v t/34# 禁止随机顺序 + 详细模式5TEST_NGINX_NO_SHUFFLE=1 TEST_NGINX_VERBOSE=1 prove -v t/001-basic.t