Как запустить лагер перед запуском теста eunit с арматурой

Я хочу начать lager перед любым eunit test выполняется так, чтобы я мог видеть журнал, когда тесты фактически выполняются (я использую журнал для целей отладки).

Однако у меня есть сотни тестов (распределенных по нескольким приложениям и модулям), и я не хочу проходить каждый тест и ставить lager:start() в начале, так что мне было интересно, есть ли способ сказать rebar (или же eunit) выполнить lager:start() перед выполнением eunit тесты?

2 ответа

Решение

Я думаю, что вы можете использовать параметры erl, такие как "-s lager", и передать их методом, описанным в следующем посте.

передача аргументов времени выполнения в erlang при запуске rebar eunit

(Я знаю, что это не полный ответ, но я согласен со Светлиным, что должен быть более элегантный подход... Я предложу это как дополнительное улучшение ответа Петра)

Если вы используете Makefile с rebar, вы можете изменить цель make для установки этой переменной среды, это будет что-то вроде:

$ make test

или же

$ make localtest

И эта цель будет выглядеть так:

test:
        ERL_AFLAGS="-s lager" 
        $(REBAR) skip_deps=true eunit
Другие вопросы по тегам