2013-06-07 2 views
1

철근을 사용하고 있으며 Erlang eunit 테스트를 위해 mnesia 디렉토리를 설정해야합니다 (보통 cmdline에서 erl -mnesia dir DIRECTORY을 수행하여 수행 할 수 있음). 철근과 함께 특별한 용골 경로를 사용하여 eunit 테스트를 수행하려면 어떻게해야합니까?mnesia 디렉토리를 eunit 테스트 실행

mnesia 디렉토리가 에뮬레이터 인수이고 erlang을 통해 설정할 수 없기 때문에 rebar.conf 파일의 erl_opts 섹션이 도움이 될 것이라고 생각하지 않습니다. 또한, 나는 이것이 eunit 테스트를 실행할 때가 아니라 rebar가 코드를 컴파일 할 때 사용할 수있는 옵션이라고 생각한다. 그러나, 그것이 작동하더라도, 내가 동적으로 디렉토리를 설정할 수 있어야하기 때문에 그것은 나를 위해 작동하지 않을 것이다 (나는 다른 타겟이 다른 db 디렉토리를 갖는 Makefile을 작성하고있다).

답변

1

실제로 erl -mnesia dir을 사용하는 Mnesia에 대해 설정 한 내용 DIR은 Mnesia의 환경 변수를 설정합니다. 이것은 응용 프로그램 리소스 파일에서 설정 한 것처럼 명령 줄에서 전환하거나 구성을 사용하여 설정할 수 있습니다 파일. 우선 순위는 명령 줄, 구성 파일 및 응용 프로그램 자원 파일 순서입니다. 응용 프로그램 환경 변수는 application : set_env/3,4를 사용하여 동적으로 설정할 수도 있습니다.이 방법은 사용자의 경우에는 작동하지 않을 수 있지만 대부분의 경우 특정 (또는 특이한 :-)) 설정을 얻는 것이 유용합니다. eunit fixture의 설정 부분에있는 환경 변수.