2
给一个函数与多个子句,我只想嘲笑一个特定的情况下,并为每一个其他输入,否则会导致'function_clause'的错误,我想要由原始函数处理它。这几乎就像erlang meck中的选择性直通。Erlang Meck:如何模拟一个特定的函数子句?
给一个函数与多个子句,我只想嘲笑一个特定的情况下,并为每一个其他输入,否则会导致'function_clause'的错误,我想要由原始函数处理它。这几乎就像erlang meck中的选择性直通。Erlang Meck:如何模拟一个特定的函数子句?
您需要使用meck:passthrough/1
: 我创建了一个模块,这样的功能:
-module(demo).
-export([original/1]).
original(1) -> one;
original(2) -> two;
original(3) -> three.
然后在控制台上...
1> meck:new(demo).
ok
2> meck:expect(demo, original,
2> fun (1) -> not_one
2> ; (Arg) -> meck:passthrough([Arg])
2> end).
ok
3> demo:original(1).
not_one
4> demo:original(2).
two
希望这有助于:)