有没有办法通过其路径或其他东西调用模块?

O-o*_*O-o 2 erlang

我有一个模拟模块,我想通过某些函数调用原来的,但模拟模块隐藏原始模块.我可以通过某种方式通过路径调用原始文件,还是有办法解决这个问题?

Rob*_*loi 5

您可以使用Meck(Erlang的模拟库)来实现此目的:

使用meck,您可以轻松地在Erlang中模拟模块.由于meck旨在用于测试,您还可以对模拟的模块执行一些基本验证,例如确保不以不应该的方式调用任何函数.

当你想要模拟它们时,meck会自动重命名现有模块,并在卸载模拟模块时恢复它们.也可以使用meck:passthrough/1内部期望从模拟模块调用原始函数.