У меня запущено приложение, и в интерактивной консоли я пытаюсь запустить общие наборы тестов, расположенные в каталоге test/common:
ct:run("test/common").
Но получаю кучу ошибок:
Reason: undef
и все тесты проваливаются. Я пытался запустить их из оболочки Linux
ct_run -dir test/common
или вот так:
ct_run -boot start_sasl -spec test/common/app_ct.spec -erl_args -config env/dev.config
с тем же результатом.
Но когда я запускаю их с помощью rebar (вторая версия, а не rebar3)
rebar ct
Все работает, тесты проходят. Но для компиляции приложения и его запуска требуется слишком много времени.
В rebar.config у меня есть:
{ct_dir,"test/common"}.
{ct_log_dir,"test/logs"}.
{ct_extra_params,"-boot start_sasl -pa deps/*/ebin -pa ebin -spec test/common/app_ct.spec -erl_args -config env/dev.config"}.
и в test/common/app_ct.spec у меня есть:
{verbosity, 100}.
{init, {eval, [{application, ensure_all_started, [app]}, {timer, sleep, [30000]}]}}.
{alias, common, "./test/common/"}.
{suites, "", [app_srv_SUITE, app_client_SUITE]}.
Что я могу сделать, чтобы запустить тесты из консоли erl, используя ct:run(test/common)?
Моя цель - иметь возможность перекомпилировать отдельные тестовые файлы по отдельности и запускать тесты из рабочей консоли приложения без остановки и перекомпиляции всего приложения.
Я перекомпилирую отдельный тестовый модуль без таких проблем:
c("test/common/new_mod_SUITE.erl", [{i, "include"}, {i, "deps"}, {outdir, "test/common"}]).
Но я все еще не могу запускать тесты после этого.