私の問題は、ルートアプリを含めないと、単一のアプリまたはモジュールに対して eunit テストを実行できないことです。私のディレクトリレイアウトは次のようになります。
├── apps
│ ├── app1
│ └── app2
├── deps
│ ├── amqp_client
│ ├── meck
│ ├── rabbit_common
│ └── ranch
├── rebar.config
├── rel
└── src
├── rootapp.app.src
├── rootapp.erl
├── rootapp.erl
└── rootapp.erl
今、私ができることは次のとおりです。
$ rebar eunit skip_deps=true
すべてのアプリのテストを実行します。また、私はできる:
$ cd apps/app1/
$ rebar eunit skip_deps=true
app1 のテストを実行します (apps/app1 にも rebar.config があります。
しかし、試してみると
$ rebar eunit skip_deps=true apps=app1
しません...何もしません。出力なし。詳細モードを試すと、次のようになります。
$ rebar -vv eunit skip_deps=true apps=app1
DEBUG: Consult config file "/Users/myuser/Development/erlang/rootapp/rebar.config"
DEBUG: Rebar location: "/usr/local/bin/rebar"
DEBUG: Consult config file "/Users/myuser/Development/erlang/erlactive/src/rootapp.app.src"
DEBUG: Skipping app: rootapp
ルート アプリを含めると、次のように動作します。
$ rebar eunit skip_deps=true apps=rootapp,app1
app1
実際には ではなくをテストしたいという事実にもかかわらず、 SublimeText 2rootapp
のプラグインは常にテスト対象のモジュールが含まれているアプリにアプリを設定するため、これは非常に不快SublimeErl
です。したがって、実際にはテストがないため、テストは常に失敗します。全然走ります。
/apps
簡単に言うと、ルートアプリを含めずに1つのアプリのテストを実行できるようにするために、rebar.configファイルのいずれかで構成できるものはありますか?