【发布时间】:2014-11-06 17:32:28
【问题描述】:
我正在阅读 Elixir “入门”教程,其中使用了以下代码 sn-p:
test "removes buckets on exit", %{registry: registry} do
KV.Registry.create(registry, "shopping")
{:ok, bucket} = KV.Registry.lookup(registry, "shopping")
Agent.stop(bucket)
assert KV.Registry.lookup(registry, "shopping") == :error
end
现在,create/2 使用 cast 操作,而 lookup 使用 call。这意味着执行异步调用,然后立即执行假定异步操作成功执行的同步调用。当代码本身正确时,计时问题是否会导致测试失败,或者我是否缺少 cast 和 call 的某些方面?
【问题讨论】:
标签: erlang elixir gen-server