Lua OpenResty 测试

Lua OpenResty testing

如何模拟 ngx 对象并测试我的 Lua 文件?

例如,假设我有

-- file.lua

function computeUpstream() 
   -- advanced calculations!
   return theCalculatedUpstream
end

ngx.var.upstream = computeUpstream() 

我想测试这个文件。我怎么做?

IMO 最好的解决方案是使用官方 OpenResty Docker images、运行 您在容器中的配置并通过一系列 HTTP 请求进行测试。

使用Docker(可能是docker-compose)可以模拟测试应用程序的整个基础设施、模拟后端、具有初始内容的数据库等

经过一些测试和尝试后,您会找到足够好的代码覆盖率的方法。