1

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 構成ファイルが見つからないと言われることがありますが、その理由は不明です。

それで、すべてのテストモジュールの前にアプリケーションを開始する方法はあると思いますか?

4

3 に答える 3

1

unit testingアイデアからかけ離れた種類のテストを行っているようですね。たぶん、この場合、共通のテストフレームワークを使用する必要がありますか?

于 2014-11-24T09:29:22.683 に答える
1

Erlang ドキュメントから -config 使用したフラグ (ERL_AFLAGS="-config rel/pro/etc/app.config") は ERL_AFLAGS="-config app" でなければなりません

于 2016-12-28T20:30:49.747 に答える