如何测试一种与本地 D-Bus 进行交互(访问 HAL 对象)的方法?
测试的结果会因运行测试的系统而异,所以我不知道如何提供方法可靠的输入。
顺便说一句,我正在使用 Python。
如何测试一种与本地 D-Bus 进行交互(访问 HAL 对象)的方法?
测试的结果会因运行测试的系统而异,所以我不知道如何提供方法可靠的输入。
顺便说一句,我正在使用 Python。
如果您不能模拟环境,那么您可能无法编写测试。如果您通过一个对象访问 HAL/D-Bus,并且您为您的测试提供了一个模拟实例,那么应该可以从模拟实现模拟您的测试的必要输入。
也可以为测试创建一个临时的 D-Bus 总线,并模拟您的程序在测试代码中使用的任何服务。您可以将此方法用于作为 D-Bus 服务、D-Bus 客户端或两者的程序。缺点是总线设置有点毛茸茸。在例如 Telepathy Gabble 中有执行此操作的代码。