hi
翻看 Test::Nginx::Socket.pm 和 Test::Nginx::Util.pm 源码,发现最后的错误日志分析 check_error_log 是接口测试完毕之后立刻检测的。
但你这里的目标却是 worker 进程退出后对 error.log 进行检测,所以导致错误日志没有匹配到。
对 Test::Nginx::Socket 添加新的指令,比如:stop_after_request ,这样我们就可以在请求完毕后主动关闭 nginx 进程,
然后调用 check_error_log 就可以过滤到我们想要的日志了。
不过 stop_after_request 和 repeat_each 指令是相互冲突的,所以代码中还需要对这种情况进行校验和异常报错。
这样是否合理?如果没有更好的办法,我就提交一个 PR 添加对这种情况的覆盖。 @agentzh @德江