我正在开发一个模块,该模块根据传入的参数返回一个充满函数的表。具体来说,该模块返回一组数据转换规则(函数),这些规则需要应用于数据集,具体取决于哪个客户是发送它。
我决定将我的规则库(biz 逻辑)与决定应用哪些规则的代码(配置逻辑)分离。
这是我正在编写的单元测试,以验证 ruleBuilder 是否根据我的一个场景添加了正确的规则(函数):
ruleBuilder = require("ruleBuilder")
ruleLibrary = require("ruleLibrary")
local rules = ruleBuilder.assembleRules("Customer1231")
assert(rules[1] == ruleLibrary.missingSSNRule)
这是进行验证的正确方法吗?即使ruleLibrary.missingSSNRule
函数通过闭包或参数引用了其他几个函数,这也会起作用吗?