erlang 如何在eunit中使用debugMsg以及如何在eunit测试中打印某些内容(尽管测试超时

5gfr0r5j  于 2023-01-18  发布在  Erlang
关注(0)|答案(1)|浏览(211)

我尝试让以下代码按照erlang eunit文档中的描述工作:
debugMsg(Text)输出消息文本(可以是一个普通字符串,一个IO列表,或者只是一个原子)。
但是,在我的代码中使用它时,我得到了以下结果:

-module(test_rps).
-export([test_all/0]).

%% Maybe you want to use eunit
-include_lib("eunit/include/eunit.hrl").

test_all() ->
    eunit:test(
      [   
       test_drain_player_receive()       
      ], [verbose]).

test_drain_player_receive() ->
    {"Test players receival of server_stopping w. drain through RPS module",
    fun() -> io:format("Testing ~p",[]), debugMsg("SomeText")      
    end
    }.


function debugMsg/1 undefined
%  340|         debugMsg(Text),
%     |         ^

我是不是用错了方法?它应该放在控制台里还是什么?我上面提到的文档中描述的其他函数似乎也是如此。
其次,在一个超时的eunit测试中打印(io:format(...))或类似的东西,以便打印可以用于调试并指向特定的代码行等,什么是好的方法?

u5rb5r59

u5rb5r591#

好了,我明白了,文档没有规定你应该像其他eunit函数一样在函数前面添加?,这就是为什么在我写?debugMsg(Text)之前它不起作用

相关问题