我在我的erlang项目中使用Common Test进行代码覆盖率分析。
文件结构
myProject/
ebin/
src/
test/
myProject.coverspec
源代码的.beam文件位于ebin /中,用于测试它们/与测试源一起进行测试。
我目前正在使用.coverspec文件中的.beam文件的绝对路径。
myProject.coverspec:
{level,details}.
{incl_dirs, ["/home/user/myProject/ebin", "/home/user/myProject/test"]}.
这很有效,但随着项目开发的分配,这远非最优。
从项目的基础调用ct_run,myProject,这些路径似乎与myProject相关,但在其他地方。
我已尝试相对于myProject和myProject / test的路径,但没有成功。
我的问题是,myProject.coverspec中的路径相对于哪个?
答案 0 :(得分:0)
在我使用last Erlang project和CT
的cover
中,我的设置如下:
项目根目录中的cover.spec:
{incl_dirs, ["apps/application_manager/ebin", "apps/session_counter/ebin", "apps/session_heartbeat/ebin", "apps/session_api/ebin"]}.
通过项目根目录执行测试;
ct_run -pa apps/*/ebin -pa deps/*/ebin -dir apps/*/test/ -logdir tests -- cover cover.spec
不确定这是否解决了您的问题,但它对我有用。