eunit 测试超时
Posted
技术标签:
【中文标题】eunit 测试超时【英文标题】:eunit test for timeout 【发布时间】:2012-04-06 21:58:13 【问题描述】:如何测试 gen_fsm 是否确实与 eunit 超时?
ok, GH = gen_fsm:start_link(myFSM, [], []),
//after 15 sec it should timeout if no messages received.
//What must I write here to test it?
【问题讨论】:
【参考方案1】:我相信这是一种解决方案:
ok, GH = gen_fsm:start_link(myFSM, [], []),
Ref = erlang:monitor(process,GH),
receive
'DOWN', Ref, process, GH, normal ->
test_passed
after
15000 ->
?assert("FSM did not die.") % will always fail
end.
【讨论】:
我得到:xxx_tests: xxx_timeout_test...*超时* undefined ============================ =========================== 失败:0。跳过:0。通过:0。取消了一项或多项测试。错误 已解决,消息不是关于进程停止,而是关于测试本身。用 timout, 30, fun()-> test code 括起来。现在它可以工作了。以上是关于eunit 测试超时的主要内容,如果未能解决你的问题,请参考以下文章
Erlang YAWS:如何测试一个简单的 REST Web 服务?