3

我正在尝试编写简单的 erlang 应用程序,使用 rebar 作为 eunit 测试运行器。有没有办法将烦人的日志消息重定向到文件中,而不以编程方式进行?没有钢筋我可以说erl -kernel error_logger "{file,\"test.log\"}"这样做,但我怎么能用钢筋呢?

概括问题,有没有办法在运行测试时使用钢筋传递一些应用程序环境设置?

4

1 回答 1

2

回答我自己的问题。正如这里所讨论的,有一种方法可以使用 ERL_AFLAGS 环境变量将 erlang 标志传递给钢筋。因此,可以使用所有必要的环境设置创建配置文件,例如ERL_AFLAGS="-config /path/to/config" rebar eunit.

我的问题的解决方案是:

echo '[{kernel, [{error_logger, {file, "test.log"}}]}].' > eunit.config
ERL_AFLAGS="-config eunit" rebar eunit

认为这是笨拙的方法,但它确实有效。

于 2013-11-23T20:13:07.823 回答