1

我在我的 Erlang 项目中使用 rebar 做 UT。

在介绍 lager 之前,一切正常,我可以运行 common_test,如下所示:

1) 运行所有测试套件

E:\>.\rebar ct 

2)运行指定的测试套件

E:\>.\rebar ct suites=client_app

但是在引入 lager 之后,我只能将所有测试套件作为一个整体运行:

1)

E:\>.\rebar ct
==> lager (ct)
DONE.
Testing deps.lager: TEST COMPLETE, 0 ok, 0 failed of 0 test cases

如果我只指定一个测试套件,它将失败:

2)

E:\>.\rebar ct suites=client_app
==> lager (ct)
ERROR: Suite client_app not found

有什么解决办法吗?谢谢!

以下是我的 rebar.config:

%% -*- erlang -*-

{cover_enabled, true}.

{test_deps, false}.

{show_cmd, true}.

{test_node_name, "localhost@127.0.0.1"}.

{clean_files, ["logs"]}.

{erl_opts, [debug_info,{d,'TEST'}, {i, "include"}, {src_dirs, ["src"]}, {parse_transform, lager_transform}]}.

{deps_dirs, ["deps"]}.
{deps, [{lager, "0.9.4", {git, "http://github.com/basho/lager.git", {tag, "0.9.4"}}}]}.
{sub_dirs, ["rel"]}.                          
{edoc_opts,[{packages,false},{subpackages,false}]}.
4

1 回答 1

1

尝试使用以下命令运行钢筋skip_deps=true

./rebar ct skip_deps=true suites=client_app

这应该使钢筋不会下降到更大,因此它不会寻找client_app在该目录中调用的通用测试套件。

于 2012-11-21T13:11:14.473 回答