Как использовать арматуру с двумя узлами приложения?

Я использую rebar для компиляции своего приложения. Собственно, это два приложения:

deps/
apps/A/
apps/B/
apps/B/suites

...где B зависит от A. Это правильно настроено в apps/B/src/B.app.src. Однако, когда я пытаюсь запустить rebar ct, он не может проверить B, сообщая, что не может найти A.app.

Запуск rebar ct в подробном режиме показывает, что он устанавливает путь поиска кода (-pa) для включения apps/B/ebin, deps/foo/ebin, deps/bar/ebin и т. д.

Он не включает apps/A/ebin.

Как использовать Common Test для тестирования «приложения» Erlang, состоящего из нескольких приложений?


person Roger Lipscombe    schedule 09.12.2013    source источник


Ответы (2)


Добавить в apps/B/rebar.config

{lib_dirs, [
    ".."
]}.

or

{ct_extra_params, "-pa ../A/ebin"}.
person sysoff    schedule 09.12.2013

ИМО, если B зависит от A, у меня будет два отдельных теста. Один для A и упомяните его в разделе B конфигурации арматуры, напишите отдельные тестовые примеры для B и запустите только для B, чтобы арматура автоматически обслуживала модули приложения A.

person Marutha    schedule 11.12.2013