3

Erlangで説明されているように構成ファイルを作成しました-- configは、それぞれが独自の Common Test suites ディレクトリを持つ複数のサブアプリで構成されるアプリケーションの構成です。ビルドとテストには rebar を使用します。ディレクトリ構造は次のようになります。

.
├── apps
│   ├── app1
│   │   ├── ebin
│   │   └── src
│   ├── app2
│   │   ├── ebin
│   │   ├── logs
│   │   ├── rebar.config
│   │   ├── src
│   │   └── test
│   ├── ...
├── deps
├── rebar.config
├── apps.config

whereapps.configには、すべてのアプリの構成が含まれています。VM を起動すると、erl -pa deps/*/ebin -pa apps/*/ebin -config appsすべて正常に動作します。に追加{ct_extra_params, "-erl_args -config rpm"}.しましたrebar.configが、実行すると が呼び出されたrebar ctときにエラーが発生します。application:get_env/1,2

rebar でこれを行うことができない場合は、代わりに make を使用することもできます。Erlang - External Configuration Dateで説明されているように、どうにかして構成を Common Test にロードできることは知っていますが、すでにapps.config.

更新: ct_run -dir apps/app1/test -pa deps/*/ebin -pa apps/*/ebin -erl_args -config rpm期待どおりに動作します。問題は、各アプリケーションのテストを実行するときに rebar が cwd を変更するため、-config rpmオプションが既存のファイルを指していないことだと思います。とにかく回避策を見つけることができませんでした。

4

1 に答える 1