我正在运行应用程序,并在交互式控制台中尝试运行位于 test/common 目录中的通用测试套件:
ct:run("test/common").
但我得到一堆错误:
Reason: undef
并且所有测试都失败了。我试图从 linux shell 运行它们
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]}.
如何使用 ct:run("test/common") 从 erl 控制台运行测试?
我的目标是能够单独重新编译单个测试文件并从工作应用程序控制台运行测试,而无需停止和重新编译所有应用程序。
我重新编译单个测试模块没有这样的问题:
c("test/common/new_mod_SUITE.erl", [{i, "include"}, {i, "deps"}, {outdir, "test/common"}]).
但在那之后我仍然无法运行测试。