1

我正在使用通用测试框架对基于牛仔的服务进行一些 RPC 测试。

该服务依赖于我在另一个节点上托管的应用程序。在应用程序代码中,我连接到该节点。

常用测试:ct:print(default, 50, "~p", [nodes()])。返回 [mynode@localhost]

但是 ct:print(default, 50, "~p", [global:registered_named()])。返回 []

我按照此处列出的步骤进行了全局注册进程未注册

但这似乎没有任何效果。如果我启动一个 shell,手动连接,列出节点,然后执行我的远程功能,一切正常。普通测试是否有一些独特的东西会阻止它起作用?远程节点是否必须由通用测试框架管理?

4

1 回答 1

0

global 需要一些时间才能看到所有节点上的所有名称。您是否尝试在 net_adm:ping 或您用于连接节点的任何操作之后等待一段时间?

如果您依赖可见的全局名称,您可能应该通过轮询全局的注册名称来等待它们,直到您需要的所有内容都可见。

它可能适用于 shell,因为您比正在运行的测试用例慢。

于 2015-01-07T22:29:57.000 回答