博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
test-nginx 使用文档
阅读量:4030 次
发布时间:2019-05-24

本文共 1180 字,大约阅读时间需要 3 分钟。

https://segmentfault.com/a/1190000004359984

installgit clone https://github.com/agentzh/test-nginx.gitcd test-nginx & perl Makefile.PLsudo make install

如果缺少包的话,可以通过 cpan 装;例如 装 Test:More

sudo perl -MCPAN -e shellcpan[1]> install Test:LongStringgeting started

文件目录组织:
一般是在一个项目下新建 t 目录来存放测试集
以lua-resty-redis 为例:
有 Makefile ,test 选项里有重要的一句:
prove -I../test-nginx/lib -r t
这里有调用 perl 的 prove 指令,prove 会去执行测试
t 目录下有 很多个 .t 文件,里面就是测试案例
编写测试案例:

一个测试案例主要有三部分内容:
程序代码: nginx location 的配置内容
输入: http 的 request 信息
输出检查: status,header,body,error_log 检查


还是以 lua-resty-redis 的一个为例,第 25 行之后的才是每个测试案例的内容
即完成一个测试案例里的那三项内容
=== Test 1:
— request 表示输入是 发一起 http GET 请求 /t
GET /t
— config 表示 nginx.conf 里 location /t 里的内容


— response_body 表示对 http 返回的 body 进行匹配检查
— no_error_log 表示会对 nginx 的 error.log 检查,必须没有 EORROR 级别的记录
更完成的输入,输出检查项 定义,可以看 
1870 行之后有完整的文档
进一步解释, test-nginx 执行流程:

  1. 组装 nginx.conf,启动 nginx 实例进程根据我们在 Makefile 里配置的 PATH,和每一个 .t 文件最前面的一些配置项

会组装一个完整的 nginx.conf 文件把 t/servroot 当成 nginx 的工作目录,启动 nginx 实例

  1. 发起 http 请求,根据每个测试案例的提供的信息

  2. 检查 http 的返回项包括 http status,http response header, http response body

更多测试项:
etcproxy 可以在 tcp 层上做一个延时转发,模拟测试 bad 网络环境
valgrind 内存泄露检查
stap 检查; 调用 systemtap 做输出检查

转载地址:http://tflbi.baihongyu.com/

你可能感兴趣的文章
[LeetCode BY Python]169. Majority Element
查看>>
[LeetCode By Python]172. Factorial Trailing Zeroes
查看>>
[LeetCode By MYSQL] Combine Two Tables
查看>>
python jieba分词模块的基本用法
查看>>
[CCF BY C++]2017.12 最小差值
查看>>
[CCF BY C++]2017-12 游戏
查看>>
如何打开ipynb文件
查看>>
[Leetcode BY python ]190. Reverse Bits
查看>>
面试---刷牛客算法题
查看>>
Android下调用收发短信邮件等(转载)
查看>>
Android中电池信息(Battery information)的取得
查看>>
SVN客户端命令详解
查看>>
Android/Linux 内存监视
查看>>
Linux系统信息查看
查看>>
用find命令查找最近修改过的文件
查看>>
Android2.1消息应用(Messaging)源码学习笔记
查看>>
在android上运行native可执行程序
查看>>
Phone双模修改涉及文件列表
查看>>
android UI小知识点
查看>>
Android之TelephonyManager类的方法详解
查看>>