我用户使用命令“rebar compile eunit”进行eunit测试,但获取错误信息:
==> myapp (compile)
==> myapp (eunit)
src/myapp_app.erl:8: badly formed 'include_lib'
src/myapp_app.erl:26: undefined macro 'assertNot/1'
ERROR: eunit failed while processing /Users/Dao/ErlProject/myapp: rebar_abort
我真的不知道这是什么意思,谁能告诉我为什么?
PS:我的英语很差,请原谅我 像这样的myapp_app.erl:
-ifdef(TEST).
-include_lib(“eunit/include/eunit.hrl”).
-endif.
........
-ifdef(TEST).
simple_test() ->
ok = application:start(myapp),
?assertNot(undefined == whereis(myapp_sup)).
-endif.
并且它来自这里:https://github.com/rebar/rebar/wiki/Getting-started
我按照步骤操作,但得到了错误!
我的erlang版本是R15B03
os:OS X Lion
答案 0 :(得分:0)
确保以下列方式包含eunit:
-include_lib("eunit/include/eunit.hrl").
毋庸置疑,请确保您安装了eunit。到目前为止,我记得,默认情况下,某些Ubuntu版本可能没有安装,例如。
答案 1 :(得分:0)
根据您提供的代码,我认为问题与您正在使用的双引号有关。现在,你正在使用某种倾斜的引号,如果我复制并粘贴它并在测试模块中自己使用相同的定义,它会产生相同的错误。
您希望确保使用“正常”的双引号:
"
(ASCII 34)代替”
,即unicode。
所以改变
-include_lib(“eunit/include/eunit.hrl”).
到
-include_lib("eunit/include/eunit.hrl").