У меня есть приложение, использующее UPnP-сервер. Для контрольно-измерительного теста я хочу издеваться над этим, т. Е. Создать собственный сервер UPnP, который будет тестироваться. К сожалению, кажется, что сервер UPnP не может работать в том же процессе (в тестовом пакете), что и приложение (которое является клиентом UPnP), поэтому я решил поместить этот UPnP-сервер в другой APK и контролировать его с помощью функциональности Android Messenger.Тест инструментария с использованием Messenger
Я уже установил такой IPC для другого проекта, поэтому я использовал некоторый код, и я могу успешно отправлять сообщения из теста (клиента) на сервер UPnP. Однако тест не может получать сообщения с сервера. Я отправляю объект Messenger клиента в поле replyTo сообщения, и сервер использует этот Messenger для отправки другого сообщения - отправка кажется успешной, но ничего не приходит к клиенту. Если клиент отключился до того, как сервер начал отправлять ответ, я получаю исключение при отправке ответа, что получатель недоступен. Для меня это означает, что объект Messenger, используемый для ответа, является правильным.
Кто-нибудь сталкивался с подобной проблемой или знает, в чем проблема? Почему этот Android IPC не работает с инструментами (функциональный тест)? Есть ли разница в обработке Android кода под тестовым пакетом?
Я предполагаю, что это не имеет значения, но я использую Robotium для тестов.