Как протестировать удаленный сервис поддержки Android
У меня есть небольшое приложение, которое взаимодействует с удаленной службой android
. Я хотел бы издеваться над этим сервисом в модульных тестах. Я использую Robolectric и JUnit
для других тестовых примеров и теней, но я не мог понять, как обращаться с удаленными службами.
Достаточно ли создавать и запускать тестовую службу с использованием одного и того же пакета с реальными службами и методами экспорта, используя те же aidl
?
Так как у меня нет кода для этой службы, я предполагаю, что я не могу использовать Robolectric
ShadowService, который требует наличия фактического класса.
Большое спасибо.
Ответы
Ответ 1
Я бы использовал Mockito, чтобы создать Mock интерфейса, а затем передать этот экземпляр вашему коду в ваших тестах. Вы также можете вручную создать реализацию этого интерфейса в своем тестовом коде и использовать его.
Итак, вам нужно делать издевательство над собой, и важно, чтобы код, который вы хотите тестировать, использовал некоторую форму инъекции зависимостей, чтобы получить ссылку на интерфейс aidl, чтобы вы могли передать свой собственный макет в своих тестах.