erlang:自动启动/停止测试应用程序

时间:2014-02-07 16:33:08

标签: erlang eunit

有一些功能可以对网页中的某些内容进行html解析 我想为它写一些测试。在测试中,我将通过httpc:request获取html内容,并将其传递给我的函数,最后进行结果验证。但http客户端需要启动应用程序inets。在阅读了一些关于EUnit的文档后,我提出了下一段代码:

-module(dparser_tests).
-include_lib("eunit/include/eunit.hrl").

start() ->
  inets:start(),
  ok.

stop(_) ->
  inets:stop(),
  ok.

do_smth(_) ->
  [?_assert(true =:= true)].


do_some_test_() ->
  {"Performs some default parsing stuff!",
    {setup, 
      fun start/0,
      fun stop/1,
      fun do_smth/1
    }
  }.

然后

erlc dparser_tests.erl && erl -noshell -pa -eval "eunit:test(dparser)" -s init stop

,输出

*** context setup failed ***
::undef


=======================================================
  Failed: 0.  Skipped: 0.  Passed: 0.
One or more tests were cancelled

更新 问题出现在inets:start()

的拼写错误中

1 个答案:

答案 0 :(得分:2)

start()函数中有拼写错误。将intets替换为inets,错误就会消失。