моя проблема в том, что я не могу запускать тесты eunit для одного приложения или модуля без включения корневого приложения. Мой каталог laylout выглядит как это:Rebar 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 (у меня есть rebar.config в приложениях/App1 а
Однако, если я пытаюсь
$ 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
, не rootapp
, это очень неудобно, так как SublimeErl
плагин для SublimeText 2 всегда будет устанавливать приложения в приложение, что испытуемый модуль содержится в. Поэтому тесты всегда будут терпеть неудачу, потому что на самом деле тесты вообще не будут выполняться.
Короче говоря: есть ли что-то, что я могу настроить в любом из файлов rebar.config, чтобы можно было запускать тесты для одного приложения в /apps
без включения корневого приложения?
Я думал, что должно быть «корневое приложение», но это имеет смысл. И спасибо за то, что поделился записью Фреда. – jaw
Просто протестирован и работает! Большое спасибо! – jaw
Добро пожаловать. :) – Tilman