Допустим, у меня есть модуль под названием example.erl
EUnit информация отладочного вывода из протестированных модулей
В этом модуле я использую следующие построения для отладки:
%%% Switch debugging output on/off:
%-define(DBG(Str, Args), ok).
-define(DBG(Str, Args), io:format(Str, Args)).
Это помогает мне выводить различную отладочную информацию в оболочка Erlang:
?DBG("Function fun1 starting... ~n", [])
Но если я позвоню example.erl
из example_tests
с example:test()
, этот выход информация не отображается.
Как я могу сделать это видимым во время теста EUnit?
UPD: Я нашел some related info, но я до сих пор не знаю, как решить проблему.
? DebugFmt отлично работает! Но как быстро его включить или выключить? Раньше я использовал DBG, определенный в двух строках (как в моем вопросе). Я попытался сделать следующее: '-define (dbgFmt (Str, Args), ok) .', но выход все еще существует. – skanatek
определяют макрос NODEBUG, такой как '-define (NODEBUG, true) .'. Убедитесь, что вы определили его ** ПЕРЕД **, включая eunit.hrl, – shino