我正在使用meck,在大多数情况下效果很好。但是,我遇到以下错误:
elixir
(ErlangError) erlang error: {:undefined_function, {OAuth2.Strategy.AuthCode, :new, 2}}
我发现:new
是OAuth2.Strategy
的{{1}}宏中定义的函数。这意味着__using__
未定义:new
。在这种情况下,如何模拟OAuth2.Strategy.AuthCode
?
答案 0 :(得分:2)
Meck在运行时创建模拟,因此永远无法在Elixir中模拟宏。如果你的宏最终创建了一个函数,然后编译成一个模块,你应该可以模拟它(前提是你知道函数的名称)。