[erlang-questions] parametrized modules and unit testing

Vlad Dumitrescu <>
Mon Feb 22 10:52:27 CET 2010

On Mon, Feb 22, 2010 at 10:28, pietje <> wrote:
> Suppose I have 2 modules, say ma and mb, and that module ma uses
> (imports) module mb.
> I'm trying to figure out in Erlang how to write unit tests for module
> ma that do not depend on the particular
> implementation of functions in module mb.


One simple way is to use conditional compilation; in ma use

    -define(MB, mock_mb).
    -define(MB, mb).

and make all calls to mb via ?MB. (Of course, you'll have to implement
a mock_mb module).

A more advanced way would be to have a central mock server where you
can register a fun for each mocked function (in any module) and use
error_handler:undefined_function to use these registered funs instead
of the real ones. This is quite complex to implement, though.

best regards,

More information about the erlang-questions mailing list