3

我想在执行lager任何eunit测试之前开始,以便在测试实际运行时可以看到日志(我将日志用于调试目的)。

但是我有数百个测试(分布在多个应用程序和模块中),我不想检查每一个测试并放在lager:start()开头,所以我想知道是否有办法在执行之前告诉rebar(或eunit)执行测试?lager:start()eunit

4

2 回答 2

2

我认为您可以使用像“-s lager”这样的 erl 参数,并通过以下帖子中描述的方法传递它。

运行 rebar eunit 时将运行时参数传递给 erlang

于 2013-01-14T10:42:41.760 回答
0

(我知道这不是一个完整的答案,但我同意 Svetlin 的观点,应该有一个更优雅的方法......我将提供这个作为对 Petr 答案的增量改进)

如果你使用带有 rebar 的 Makefile,你可以修改 make 目标来设置这个环境变量,它会是这样的:

$ 进行测试

或者

$ 本地测试

这个目标看起来像:

test:
        ERL_AFLAGS="-s lager" 
        $(REBAR) skip_deps=true eunit
于 2013-06-28T20:19:06.517 回答