Я пытаюсь создать DynamicSupervisor
для контроля другого GenServer
по запросу к нему и затем пытаюсь проверить его.
Вот мой код для NodeDynamicSupervisor
:
defmodule NodeDynamicSupervisor do
use DynamicSupervisor
def start_link() do
DynamicSupervisor.start_link(__MODULE__, :ok, name: __MODULE__)
end
def init(:ok) do
DynamicSupervisor.init(strategy: :one_for_one)
end
def add_node(private_key, public_key, address, num_of_coins) do
child_spec = {Node, {private_key, public_key, address, num_of_coins}}
DynamicSupervisor.start_child(__MODULE__, child_spec)
end
end
Вот как я его тестирую:
defmodule NodeCreationTest do
use ExUnit.Case
import ExUnit.CaptureIO
test "should create node" do
{:ok, node_pid} = NodeDynamicSupervisor.start_link()
capture_io(node_pid.add_node(private_key, public_key, address, 0))
end
end
И вот эта ошибка, которую я получаю:
code: capture_io(node_pid.add_node(private_key, public_key, address, 0))
stacktrace:
:erlang.apply(#PID<0.163.0>, :add_node, [])
test/create_nodes_test.exs:12: (test)
Почему я не могу добавить узел и получить эту ошибку вместо этого?