我试图测试从磁盘加载文件并对其进行一些操作的函数。我的项目分为src /和test /目录。我将测试文件放在test /目录下,并尝试运行加载此文件的单元测试。但是,当使用钢筋从IDE(IntelliJ)或控制台运行测试时,文件似乎不可见。
$ ./rebar eunit
==> traffic-emas (eunit)
input_test: load_from_file_test...*failed*
in function input:load_intersection_definition/1 (src/input.erl, line 40)
in call from input_test:load_from_file_test/0 (test/input_test.erl, line 14)
**error:{badmatch,{error,enoent}}
我应该在哪里放置eunit的测试文件以使其可见?
答案 0 :(得分:1)
你可以在你的eunit测试中打印出工作目录,看看它在哪里运行:
debugVal(file:get_cwd())
这应该会让你知道放在哪里。
答案 1 :(得分:-1)
Rebar的documentation suggests你应该在模块本身内放置一个特定于模块的eunit测试。 E.g:
-ifdef(TEST).
simple_test() ->
ok = application:start(myapp),
?assertNot(undefined == whereis(myapp_sup)).
-endif.