我正在学习 erlang,并且我创建了一个cache_server
实现gen_server behaviour
.
该模块负责创建ets tables
并具有用于插入、查找等的 api。
我想为模块制作测试套件,并在一组测试中作为序列运行插入和查找的测试用例,因为第一个函数填充表和其他搜索插入的键。
我试图调用套件cache_server:start_link([])
的init_per_suite
钩子函数,但在测试用例cache_server
中,当我调用registered()
函数时我看不到我的进程。
我得到
{noproc,{gen_server,call,[cache_server,{lookup,numbers,1}]}}
错误。
我还尝试将调用cache_server:start_link()
从 init_per_suite 移至第一个测试用例,但在随后的测试用例中,该过程变得不可用。
当我使用 rebar3 shell 手动测试我的代码时,一切都按预期工作。
是否可以在通用测试测试套件中的测试用例之间共享一个命名的 gen_server 进程?