在长生不老药中创建一个假的或虚拟的 pid
Creating a fake or dummy pid in elixir
在 erlang 中,可以创建一个与进程不对应的 pid。可以在 here 学习一些 Erlang 中找到使用它的示例。
pid(0,250,0).
有没有办法在长生不老药中做同样的事情?
我现在得到的关闭是创建一个立即终止并使用该 pid 的进程。
fake_pid = Process.spawn(fn -> end)
这看起来有点乱,我不确定从未创建的 pid 和死的 pid 之间是否存在细微差别。
您可以使用 pid/3 Erlang function directly in Elixir:
:c.pid(0,250,0)
此外 - 只是来自 Erlang 文档:
Converts X, Y, Z to the pid . This function should only be used when debugging.
出于您的目的,我将使用测试代码中的 self()
。这将解决进程 运行 当前测试用例。
如果您出于某种原因需要测试另一个 pid,您使用 Process.spawn/1
的方式非常好,因为它确保 pid 不被占用(并且不指向系统中重要的东西)并且它已经死了(或者还活着,如果你在测试期间保持它活着的话)。
Erlang :c.pid/3
或新的 Elixir 1.1 IEx.Helpers.pid/3
仅作为 shell.
中使用的便利函数
在 erlang 中,可以创建一个与进程不对应的 pid。可以在 here 学习一些 Erlang 中找到使用它的示例。
pid(0,250,0).
有没有办法在长生不老药中做同样的事情? 我现在得到的关闭是创建一个立即终止并使用该 pid 的进程。
fake_pid = Process.spawn(fn -> end)
这看起来有点乱,我不确定从未创建的 pid 和死的 pid 之间是否存在细微差别。
您可以使用 pid/3 Erlang function directly in Elixir:
:c.pid(0,250,0)
此外 - 只是来自 Erlang 文档:
Converts X, Y, Z to the pid . This function should only be used when debugging.
出于您的目的,我将使用测试代码中的 self()
。这将解决进程 运行 当前测试用例。
如果您出于某种原因需要测试另一个 pid,您使用 Process.spawn/1
的方式非常好,因为它确保 pid 不被占用(并且不指向系统中重要的东西)并且它已经死了(或者还活着,如果你在测试期间保持它活着的话)。
Erlang :c.pid/3
或新的 Elixir 1.1 IEx.Helpers.pid/3
仅作为 shell.