Unit testing 如何在erlang中测试gen_事件?

Unit testing 如何在erlang中测试gen_事件?,unit-testing,erlang,eunit,Unit Testing,Erlang,Eunit,我的大部分代码看起来像这样 handle_event({publish,Publish_Msg,Publishing_Channel},State)-> Member = pg2:get_members(helpers:get_channel_name(Publishing_Channel)), case Member of [M|O]-> [Pid!{send,Publish_Msg}||Pid<-[M|O]]; {error,_}->

我的大部分代码看起来像这样

handle_event({publish,Publish_Msg,Publishing_Channel},State)->

Member = pg2:get_members(helpers:get_channel_name(Publishing_Channel)),
case Member of 
    [M|O]->
        [Pid!{send,Publish_Msg}||Pid<-[M|O]];
    {error,_}-> lager:info("unavailable")
end,
{ok,State};
handle_事件({publish,publish_Msg,Publishing_Channel},State)->
Member=pg2:get_成员(帮助程序:get_频道名称(Publishing_频道)),
案件成员
[M|O]>
[Pid!{send,Publish_Msg}| | Pid lager:info(“不可用”)
完,,
{好的,国家};
上面的处理程序为发布事件调用,它所做的只是向进程id发送一条消息

我想做的是创建一组模拟PID,然后让此事件处理程序向这些PID发送数据。并检查它们是否实际接收到数据。是否有任何方法可以使用EUNIT实现这一点。或者是否有更好的方法来测试事件处理程序?

使用公共测试(1)它让您可以根据测试用例/组/套件启动gen_事件。它功能强大且有很好的文档记录,而且《了解一些Erlang》(2)一书中有一个很好的章节

(1) :

(2) :

使用Common Test(1),它可以让您根据测试用例/组/套件启动gen_事件。它功能强大,有很好的文档记录,而且《了解一些Erlang》(2)一书中有一个很好的章节

(1) :

(2) :