Модульное тестирование для D-Bus и HAL?
-
05-07-2019 - |
Вопрос
Как проверить метод, который взаимодействует с локальной шиной D-Bus (обращаясь к объекту HAL)? Р>
Результаты тестов будут отличаться в зависимости от системы, в которой выполняется тест, поэтому я не знаю, как обеспечить надежный ввод метода. Р>
Кстати, я работаю в Python.
Решение
Если вы не можете издеваться над окружающей средой, вы, вероятно, не сможете написать тест. Если ваш доступ к HAL / D-Bus осуществляется через объект, и вы предоставляете имитирующий экземпляр для своего теста, то должна быть возможность эмулировать необходимые входные данные для вашего теста из фиктивной реализации.
Другие советы
Также возможно создать временные шины D-Bus для тестов и эмулировать любые сервисы, которые ваша программа использует в вашем тестовом коде. Вы можете использовать этот подход для программ, которые являются услугами D-Bus, клиентами D-Bus или обоими. Недостатком является то, что настройка шины немного волосатая. Для этого существует код. в например Телепатия Габбл.