OpenResty 从入门到实战
温铭
OpenResty 软件基金会第一任主席,Apache APISIX 项目 VP
20903 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 52 讲
结束语 (1讲)
OpenResty 从入门到实战
15
15
1.0x
00:00/00:00
登录|注册

28 | test::nginx 还可以这样用?

全球 Top 100
测试案例贡献者
在项目中使用 test::nginx 编写测试案例
成为 OpenResty 的代码贡献者
学习更高级、更复杂的用法
学习 OpenResty
忽略前面的测试案例
忽略某一个测试案例
只运行指定的测试案例
核心模块
测试案例集
项目开发中的测试
官方的测试案例集
测试的基本方法和注意点
严格的格式要求
自动化工具
关闭乱序特性
应用层项目的影响
默认乱序、随机执行测试案例
run_tests 原语之前增加 perl 函数
add_block_preprocessor
共同的设置
推荐关闭 plan
与实际结果比较
计划应该会做多少次检测项
Test::Plan 模块
最难理解的原语
LAST
SKIP
ONLY
lua-nginx-module
OpenResty 项目
写在最后
reindex
乱序
自定义函数
预处理器
测试计划 plan
测试中的调试
温铭
test::nginx 还可以这样用?

该思维导图由 AI 生成,仅供参考

你好,我是温铭。
在前面两个章节中,你已经掌握了 test::nginx 的大部分使用方法,我相信你已经能够看明白 OpenResty 项目中大部分的测试案例集了。这对于学习 OpenResty 和它的周边库而言,已经足够了。
但如果你有志于成为 OpenResty 的代码贡献者,或者你正在自己的项目中使用 test::nginx 来编写测试案例,那么你还需要来学习一些更高级、更复杂的用法。
今天的内容,可能会是这个专栏中最“高冷”的部分,因为这都是从来没有人分享过的内容。 以 lua-nginx-module 这个 OpenResty 中最核心的模块为例,全球一共有 70 多个贡献者,但并非每个贡献者都写过测试案例。所以,如果学完今天的课程,你在 test::nginx 上的理解,绝对可以进入全球 Top 100。

测试中的调试

首先,我们来看几个最简单、也是开发者最常用到的原语,它们在平时的调试中会被使用到。下面,我们就来依次介绍下,这几个调试相关的原语的使用场景。

ONLY

很多时候,我们都是在原有的测试案例集基础上,新增了一个测试案例。如果这个测试文件包含了很多的测试案例,那么从头到尾跑一遍显然是比较耗时的,这在你需要反复修改测试案例的时候尤为明显。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了如何更高级、更复杂地使用`test::nginx`进行测试。从调试相关的原语,如`ONLY`、`SKIP`和`LAST`,到规划测试文件中的检测项数量的`plan`使用,再到预处理器、自定义函数和禁用测试案例的乱序执行等高级用法,全面展示了`test::nginx`的强大功能。此外,还介绍了`reindex`工具,用于整理测试案例的编号和格式要求。对于想要深入学习该工具的读者来说,本文提供了一份非常有价值的指南。文章以授人以渔的方式,鼓励读者深入挖掘官方的测试案例集,同时留下了一个问题,引发读者思考和交流。整体而言,本文内容丰富,适合技术人员深入学习和交流。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《OpenResty 从入门到实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • K1
    ssl相关功能用test::nginx是不是测不了?

    作者回复: 可以测试的,你可以看下 https://github.com/openresty/lua-nginx-module/blob/master/t 这个目录下面包含 ssl、tls 的测试文件,比如 https://github.com/openresty/lua-nginx-module/blob/master/t/139-ssl-cert-by.t。 OpenResty 会先生成一批测试用的证书,放在 https://github.com/openresty/lua-nginx-module/tree/master/t/cert 目录中,然后在测试案例中使用。

    2019-07-29
  • 罐头瓶子
    请问,我有一个接口需要调用两次来做测试,第一次返回和第二次返回的结果要保持一致。我的想法是第一次返回的body需要保存记录下来,第二次请求的body与保存的第一次body做对比。请问我如何保存第一次返回的body?
    2020-03-30
    2
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部