Elixir 如何测试推送结果而不是回复的凤凰频道?
我有一个phoenix频道,它在中的句柄之后在句柄信息上推送结果,而不是立即回复(请不要问为什么,我有一个用例)。下面的例子与我的情况类似Elixir 如何测试推送结果而不是回复的凤凰频道?,elixir,phoenix-framework,phoenix-channels,Elixir,Phoenix Framework,Phoenix Channels,我有一个phoenix频道,它在中的句柄之后在句柄信息上推送结果,而不是立即回复(请不要问为什么,我有一个用例)。下面的例子与我的情况类似 def handle_in("topic", %{"param" => param}, socket) do ... do something here ... send self(), %{:on_topic, result} {:noreply, socket} end def handle_info({:on_topic
def handle_in("topic", %{"param" => param}, socket) do
... do something here ...
send self(), %{:on_topic, result}
{:noreply, socket}
end
def handle_info({:on_topic, result}, socket) do
... do something here ...
push socket, "topic_resp", %{resp: result}
{:noreply, socket}
end
到目前为止,我能够在中轻松测试句柄(因为没有回复),但是如何在句柄信息之后等待并测试套接字推送的结果??谢谢@Dogbert:)