1
我经历的万应灵药“入门”的教程,在使用下面的代码片段:Elixir GenServer教程中的计时错误?
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
的某些方面?