我想在执行任何lager
测试之前启动eunit
,这样我就可以在实际运行测试时看到日志(我使用日志进行调试)。
但是我有数百个测试(分布在多个应用程序和模块中)并且我不想通过每一个并在开头放lager:start()
所以我想知道是否有办法告诉rebar
(或eunit
)在执行lager:start()
测试之前执行eunit
?
答案 0 :(得分:2)
我认为你可以使用类似“-s lager”的erl params,并通过方法传递它,如下文所述。
passing runtime arguments to erlang when running rebar eunit
答案 1 :(得分:0)
(我知道这不是一个完整的答案,但我同意斯韦特林应该有一个更优雅的方法......我将提供这个作为对Petr的回答的渐进改进)
如果你使用带有钢筋的Makefile,你可以修改make target来设置这个环境变量,它类似于:
$ make test
或
$ make localtest
该目标看起来像:
test:
ERL_AFLAGS="-s lager"
$(REBAR) skip_deps=true eunit