rebar で管理されている私の Erlang プロジェクトは、別のモジュールに分割されています。
-pro
|-- rel
|-- src
|-- test
|--- module1_tests.erl
|--- module2_tests.erl
各モジュール*_tests.erl に対して、Eunit Fixturesを使用して環境をセットアップします。例えば、
module1_test_() ->
{setup,
fun setup/0,
fun clean_up/1,
fun (SetupData) ->
[
test_function(SetupData)
]
end}.
setup() ->
pro:start(),
ok.
clean_up(_) ->
pro:stop().
Makefileは次のとおりです。
test:
ERL_AFLAGS="-config rel/pro/etc/app.config" $(REBAR) compile eunit skip_deps=true
ここで問題が発生します。test/ に多くのテスト モジュールがあるため、各テスト モジュールは実行中のフロー全体でアプリケーションを開始および停止します。アプリケーションの起動に失敗し、app.config 構成ファイルが見つからないと言われることがありますが、その理由は不明です。
それで、すべてのテストモジュールの前にアプリケーションを開始する方法はあると思いますか?