Опции meck:new

Документация по meck… скажем так, не блещет. Давайте разберем опции meck:new.

meck:new(string, [passthrough]),
meck:expect(string, char_at,
    fun(0) ->
        $a;
    (Pos) ->
        meck:passthrough([Pos])
end),
?assert(meck:validate(string)).
meck:new(string, [stub_all]),
?assertEqual(ok, string:colorize()).

meck:new(string, [{stub_all, true}]),
?assertEqual(true, string:contains($a)).

meck:new(string, [{stub_all, meck:seq([$a, $b, $c])}]),
?assertEqual($a, string:char_at(1)),
?assertEqual($b, string:char_at(2)),
?assertEqual($c, string:char_at(3)),
?assertEqual($c, string:char_at(4)).

meck:new(string, [{stub_all, meck:loop([$a, $b, $c])}]),
?assertEqual($a, string:char_at(1)),
?assertEqual($b, string:char_at(2)),
?assertEqual($c, string:char_at(3)),
?assertEqual($a, string:char_at(4)). %% заметили разницу между seq?

Comments

comments powered by Disqus