渡された引数に基づいて、関数でいっぱいのテーブルを返すモジュールを開発しています。具体的には、モジュールは、顧客がどの顧客であるかに応じてデータセットに適用する必要がある一連のデータ変換ルール (関数) を返します。それを送る。
どのルールを適用するかを決定するコード (config ロジック) からルール ライブラリ (biz ロジック) を切り離すことにしました。
私のシナリオの 1 つに基づいて、ruleBuilder が正しいルール (関数) を追加していることを確認するために、私が書いている単体テストを次に示します。
ruleBuilder = require("ruleBuilder")
ruleLibrary = require("ruleLibrary")
local rules = ruleBuilder.assembleRules("Customer1231")
assert(rules[1] == ruleLibrary.missingSSNRule)
これはその検証を行う正しい方法ですか?ruleLibrary.missingSSNRule
関数がクロージャーまたはパラメーターを介して他のいくつかの関数への参照を持っている場合でも、これは機能しますか?