test::nginx的安装和使用
1. test::nginx介绍
test::nginx 是 OpenResty的测试框架,是不基于断言,也不使用 Lua 语言。test::nginx 用Perl编写的,因为Perl已经积累了多年的丰富测试工具和工具链(其实是作者章亦春的个人喜好)。
官方文档,其实官方文档就是最好的老师,当看完当前文章入门后,建议自行查阅官网文档了解更深入的内容。
对于同一份测试案例集,通过对参数和环境变量的控制,可以实现乱序执行(用no_shuffle()
可以关闭)、多次重复、内存泄漏检测、压力测试等不同的效果。
test::nginx 的测试,本质上是根据每一个测试案例的配置,先去生成 nginx.conf,并启动一个 Nginx 进程;然后,模拟客户端发起请求,其中包含指定的请求体和请求头;紧接着,测试案例中的 Lua 代码会处理请求并作出响应,这时,test::nginx 解析响应体、响应头、错误日志等关键信息,并和测试配置做对比。如果发现不符,就报错退出,测试失败;否则就算成功。
test::nginx 的执行模式