1

我正在使用 rebar,我需要为我的 Erlang eunit 测试设置 mnesia 目录(您通常可以通过erl -mnesia dir DIRECTORY在 cmdline 上执行此操作)。如何使用带有 rebar 的特殊 mnesia 目录运行 eunit 测试?

我认为erl_optsrebar.conf 文件的部分不会有帮助,因为 mnesia 目录是一个模拟器参数,我认为它不能通过 erlang 设置。另外,我认为这些是 rebar 编译代码时的选项,而不是运行 eunit 测试时的选项。但是,即使它确实有效,它对我也不起作用,因为我需要能够动态设置目录(我正在编写一个 Makefile,其中不同的目标具有不同的数据库目录)。

4

1 回答 1

1

您实际使用 erl -mnesia dir DIR 为 Mnesia 设置的内容是为 Mnesia 设置环境变量,这可以在应用程序资源文件中设置,如您所做的那样从命令行切换或使用配置文件。优先顺序是命令行、配置文件和最后的应用程序资源文件。应用程序环境变量也可以使用 application:set_env/3,4 动态设置,这可能不适用于您的情况,但在许多情况下通过设置eunit 固定装置的设置部分中的环境变量。

于 2013-06-07T07:59:59.093 回答