我正在尝试在 Lua 中使用 Busted(我没有编写,也不允许我此时出于业务原因重构)对代码进行单元测试,并且在这个类模块中没有任何概念,也没有依赖注入。因此,我想替换文件顶部所需的一些模块,即local log = require("path.to.module.logger"):new()
用我制作的用于跟踪方法调用次数的模拟记录器,logger:trace()
例如times()
Java 中的Mockito 中的with。在 Java 中,我可以为此目的使用 Reflection.Utils。Lua 中的什么等价物可以帮助使这个不可测试的代码可测试?
我已经尝试log
使用此示例创建一个具有相同变量名的全局变量并将其设置为等于我的模拟:https ://www.lua.org/pil/14.2.html
本地 _M = {}
本地日志 = require("path.to.module.logger"):new()
...
function _M.init(...) log:trace("debug") # 我希望这个日志实例不是上面的那个,而是我在运行时注入到模块中的那个