D-Bus 和 HAL 的单元测试?

发布于 2024-07-18 04:45:43 字数 125 浏览 7 评论 0原文

如何测试与本地 D-Bus 进行某些交互(访问 HAL 对象)的方法?

测试结果会根据运行测试的系统而有所不同,因此我不知道如何为方法提供可靠的输入。

顺便说一句,我正在使用 Python 工作。

How does one test a method that does some interactions with the local D-Bus (accessing a HAL object)?

Results of tests will differ depending on the system that the test is run on, so I don't know how to provide the method reliable input.

I'm working in Python, by the way.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦明 2024-07-25 04:45:43

如果您无法模拟环境,那么您可能无法编写测试。
如果您通过对象访问 HAL/D-Bus 并且为测试提供模拟实例,那么应该可以从模拟实现模拟测试的必要输入。

If you can not mock the environment then it's probably impossible for you to write the test.
If your access to HAL/D-Bus is via an object and you provide a mock instance to your test then it should be possible to emulate the necessary inputs to your test from the mock implementation.

山田美奈子 2024-07-25 04:45:43

还可以创建临时 D-Bus 总线用于测试,并模拟您的程序在测试代码中使用的任何服务。 您可以将此方法用于 D-Bus 服务、D-Bus 客户端或两者兼而有之的程序。 缺点是巴士设置有点麻烦。 有执行此操作的代码 例如心灵感应胡言乱语。

It's also possible to create a temporary D-Bus buses for tests, and emulate any services your program uses in your test code. You can use this approach for programs which are D-Bus services, D-Bus clients, or both. The downside is that the bus setup is a bit hairy. There's code for doing this in e.g. Telepathy Gabble.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文