1

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?
4

1 に答える 1

1

これが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.
于 2012-03-22T13:13:54.173 に答える